Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_AIGroupFireteamLock.c
Go to the documentation of this file.
1
5
6typedef array<ref SCR_AIGroupFireteamLock> TFireteamLockRefArray;
7typedef array<SCR_AIGroupFireteamLock> TFireteamLockArray;
8
10{
12
13 //--------------------------------------------------------------------------------------------------------
18
19 //--------------------------------------------------------------------------------------------------------
21 {
22 if (m_Fireteam)
23 m_Fireteam.Internal_OnLockDestroyed();
24 }
25
26 //--------------------------------------------------------------------------------------------------------
31
32
33
34 //--------------------------------------------------------------------------------------------------------
36
37 //--------------------------------------------------------------------------------------------------------
41 {
42 foreach (int i, SCR_AIGroupFireteamLock l : locksArray)
43 {
44 if (l.m_Fireteam == ft)
45 return i;
46 }
47 return -1;
48 }
49 static int FindFireteamLock(notnull TFireteamLockArray locksArray, SCR_AIGroupFireteam ft)
50 {
51 foreach (int i, SCR_AIGroupFireteamLock l : locksArray)
52 {
53 if (l.m_Fireteam == ft)
54 return i;
55 }
56 return -1;
57 }
58
59 //--------------------------------------------------------------------------------------------------------
63 {
64 foreach (int i, SCR_AIGroupFireteamLock l : locksArray)
65 {
66 if (l == ft)
67 return i;
68 }
69 return -1;
70 }
72 {
73 foreach (int i, SCR_AIGroupFireteamLock l : locksArray)
74 {
75 if (l == ft)
76 return i;
77 }
78 return -1;
79 }
80
81 //--------------------------------------------------------------------------------------------------------
86 {
87 int id = FindFireteamLock(locksArray, ft);
88 if (id == -1)
89 return false;
90
91 locksArray.Remove(id);
92 return true;
93 }
95 {
96 int id = FindFireteamLock(locksArray, ft);
97 if (id == -1)
98 return false;
99
100 locksArray.Remove(id);
101 return true;
102 }
103
104 //--------------------------------------------------------------------------------------------------------
106 static void TryLockFireteams(notnull array<SCR_AIGroupFireteam> fireteams, notnull TFireteamLockRefArray locks, bool clearLockArray)
107 {
108 if (clearLockArray)
109 locks.Clear();
110
111 foreach (SCR_AIGroupFireteam ft : fireteams)
112 {
113 SCR_AIGroupFireteamLock lock = ft.TryLock();
114 if (lock)
115 locks.Insert(lock);
116 }
117 }
118
119 //--------------------------------------------------------------------------------------------------------
122 {
124 foreach (auto l : other)
125 a.Insert(l);
126 return a;
127 }
128};
array< SCR_AIGroupFireteamLock > TFireteamLockArray
array< ref SCR_AIGroupFireteamLock > TFireteamLockRefArray
static int FindFireteamLock(notnull TFireteamLockRefArray locksArray, SCR_AIGroupFireteam ft)
Helper functions to manipulate fireteam locks in arrays.
static int FindFireteamLock(notnull TFireteamLockArray locksArray, SCR_AIGroupFireteam ft)
static bool RemoveFireteamLock(TFireteamLockArray locksArray, SCR_AIGroupFireteam ft)
static void TryLockFireteams(notnull array< SCR_AIGroupFireteam > fireteams, notnull TFireteamLockRefArray locks, bool clearLockArray)
Tries to lock all fireteams, returns a new array of locks for those fireteams it was able to lock.
static int FindFireteamLock(notnull TFireteamLockArray locksArray, SCR_AIGroupFireteamLock ft)
ref SCR_AIGroupFireteam m_Fireteam
void SCR_AIGroupFireteamLock(SCR_AIGroupFireteam ft)
static TFireteamLockRefArray CopyLockArray(TFireteamLockRefArray other)
Creates a copy of locks array.
static bool RemoveFireteamLock(TFireteamLockRefArray locksArray, SCR_AIGroupFireteam ft)
SCR_AIGroupFireteam GetFireteam()
static int FindFireteamLock(notnull TFireteamLockRefArray locksArray, SCR_AIGroupFireteamLock ft)