Dayz Explorer
1.28.160049
Loading...
Searching...
No Matches
arrowmanagerbase.c
Go to the documentation of this file.
1
class
ArrowManagerBase
2
{
3
protected
const
int
VERSION
= 2;
4
protected
ref
array<EntityAI>
m_Arrows
;
5
protected
EntityAI
m_Owner
;
6
7
void
ArrowManagerBase
(
EntityAI
owner)
8
{
9
m_Owner
= owner;
10
m_Arrows
=
new
array<EntityAI>
();
11
}
12
13
void
AddArrow
(
EntityAI
arrow)
14
{
15
m_Arrows
.Insert(arrow);
16
}
17
18
void
RemoveArrow
(
EntityAI
arrow)
19
{
20
m_Arrows
.RemoveItem(arrow);
21
}
22
23
void
ClearArrows
()
24
{
25
foreach
(
EntityAI
arrow :
m_Arrows
)
26
{
27
if
(arrow)
28
arrow.DeleteSafe();
29
}
30
31
m_Arrows
.Clear();
32
}
33
34
int
GetArrowsCount
()
35
{
36
return
m_Arrows
.Count();
37
}
38
39
void
DropArrow
(
int
index)
40
{
41
if
(
m_Arrows
.Count() > index)
42
{
43
EntityAI
arrow =
m_Arrows
.Get(index);
44
vector
pos = arrow.GetPosition();
45
46
m_Owner
.RemoveChild(arrow);
47
48
vector
m4[4];
49
Math3D
.MatrixIdentity4(m4);
50
m4[3] = pos;
51
52
arrow.PlaceOnSurfaceRotated(m4, pos);
53
54
arrow.SetTransform(m4);
55
arrow.PlaceOnSurface();
56
}
57
}
58
59
void
DropFirstArrow
()
60
{
61
DropArrow
(0);
62
}
63
64
void
DropAllArrows
()
65
{
66
for
(
int
i =
m_Arrows
.Count() - 1; i >= 0 ; i--)
67
{
68
DropArrow
(i);
69
}
70
}
71
72
EntityAI
GetArrow
(
int
index)
73
{
74
if
(
m_Arrows
.Count() > index)
75
{
76
return
m_Arrows
.Get(index);
77
}
78
79
return
null;
80
}
81
82
EntityAI
GetFirstArrow
()
83
{
84
if
(
m_Arrows
.Count())
85
{
86
return
m_Arrows
.Get(0);
87
}
88
89
return
null;
90
}
91
92
EntityAI
AcquireFirstArrow
(
bool
keepTransform =
false
)
93
{
94
EntityAI
entity =
GetFirstArrow
();
95
m_Owner
.RemoveChild(entity, keepTransform);
96
return
entity;
97
}
98
99
}
ArrowManagerBase
Definition
arrowmanagerbase.c:2
ArrowManagerBase::ClearArrows
void ClearArrows()
Definition
arrowmanagerbase.c:23
ArrowManagerBase::m_Arrows
ref array< EntityAI > m_Arrows
Definition
arrowmanagerbase.c:4
ArrowManagerBase::ArrowManagerBase
void ArrowManagerBase(EntityAI owner)
Definition
arrowmanagerbase.c:7
ArrowManagerBase::GetArrow
EntityAI GetArrow(int index)
Definition
arrowmanagerbase.c:72
ArrowManagerBase::AcquireFirstArrow
EntityAI AcquireFirstArrow(bool keepTransform=false)
Definition
arrowmanagerbase.c:92
ArrowManagerBase::m_Owner
EntityAI m_Owner
Definition
arrowmanagerbase.c:5
ArrowManagerBase::GetFirstArrow
EntityAI GetFirstArrow()
Definition
arrowmanagerbase.c:82
ArrowManagerBase::RemoveArrow
void RemoveArrow(EntityAI arrow)
Definition
arrowmanagerbase.c:18
ArrowManagerBase::AddArrow
void AddArrow(EntityAI arrow)
Definition
arrowmanagerbase.c:13
ArrowManagerBase::VERSION
const int VERSION
Definition
arrowmanagerbase.c:3
ArrowManagerBase::DropArrow
void DropArrow(int index)
Definition
arrowmanagerbase.c:39
ArrowManagerBase::DropFirstArrow
void DropFirstArrow()
Definition
arrowmanagerbase.c:59
ArrowManagerBase::DropAllArrows
void DropAllArrows()
Definition
arrowmanagerbase.c:64
ArrowManagerBase::GetArrowsCount
int GetArrowsCount()
Definition
arrowmanagerbase.c:34
EntityAI
Definition
building.c:6
Math3D
Definition
enmath3d.c:28
array
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Definition
isboxcollidinggeometryproxyclasses.c:28
vector
Definition
enconvert.c:106
Daten
3_game
systems
arrowmanager
arrowmanagerbase.c
Generated by
1.12.0