DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
ArrowManagerBase.c
См. документацию.
2{
3 protected const int VERSION = 2;
4 protected ref array<EntityAI> m_Arrows;
5 protected EntityAI m_Owner;
6
8 {
9 m_Owner = owner;
11 }
12
13 void AddArrow(EntityAI arrow)
14 {
15 m_Arrows.Insert(arrow);
16 }
17
19 {
20 m_Arrows.RemoveItem(arrow);
21 }
22
24 {
25 foreach (EntityAI arrow : m_Arrows)
26 {
27 if (arrow)
28 arrow.DeleteSafe();
29 }
30
31 m_Arrows.Clear();
32 }
33
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];
50 m4[3] = pos;
51
52 arrow.PlaceOnSurfaceRotated(m4, pos);
53
54 arrow.SetTransform(m4);
55 arrow.PlaceOnSurface();
56 }
57 }
58
60 {
61 DropArrow(0);
62 }
63
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
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}
void ClearArrows()
Определения ArrowManagerBase.c:23
ref array< EntityAI > m_Arrows
Определения ArrowManagerBase.c:4
void ArrowManagerBase(EntityAI owner)
Определения ArrowManagerBase.c:7
EntityAI GetArrow(int index)
Определения ArrowManagerBase.c:72
EntityAI AcquireFirstArrow(bool keepTransform=false)
Определения ArrowManagerBase.c:92
EntityAI m_Owner
Определения ArrowManagerBase.c:5
EntityAI GetFirstArrow()
Определения ArrowManagerBase.c:82
void RemoveArrow(EntityAI arrow)
Определения ArrowManagerBase.c:18
void AddArrow(EntityAI arrow)
Определения ArrowManagerBase.c:13
const int VERSION
Определения ArrowManagerBase.c:3
void DropArrow(int index)
Определения ArrowManagerBase.c:39
void DropFirstArrow()
Определения ArrowManagerBase.c:59
void DropAllArrows()
Определения ArrowManagerBase.c:64
int GetArrowsCount()
Определения ArrowManagerBase.c:34
Определения Building.c:6
Определения EnMath3D.c:28
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Определения EnConvert.c:106
static void MatrixIdentity4(out vector mat[4])
Creates identity matrix.
Определения EnMath3D.c:256