Arma Reforger Explorer  1.1.0.42
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
SCR_SortedArray.c
Go to the documentation of this file.
1 class SCR_SortedArray<Class TValue>: Managed
2 {
3  protected ref array<int> m_aOrders = new array<int>();
4  protected ref array<TValue> m_aValues = new array<TValue>();
5 
11  TValue Get(int n)
12  {
13  return m_aValues.Get(n);
14  }
20  void Set(int n, TValue value)
21  {
22  m_aValues.Set(n, value);
23  }
30  void Insert(int order, TValue value)
31  {
32  int index = Count();
33  for (int i = 0; i < index; i++)
34  {
35  if (order < m_aOrders[i])
36  {
37  index = i;
38  break;
39  }
40  }
41  m_aOrders.InsertAt(order, index);
42  m_aValues.InsertAt(value, index);
43  }
48  void Remove(int i)
49  {
50  m_aOrders.RemoveOrdered(i);
51  m_aValues.RemoveOrdered(i);
52  }
57  void RemoveOrders(int order)
58  {
59  for (int i = Count() - 1; i >= 0; i--)
60  {
61  if (m_aOrders[i] == order)
62  {
63  m_aOrders.RemoveOrdered(i);
64  m_aValues.RemoveOrdered(i);
65  }
66  }
67  }
72  void RemoveValues(TValue value)
73  {
74  for (int i = Count() - 1; i >= 0; i--)
75  {
76  if (m_aValues[i] == value)
77  {
78  m_aOrders.RemoveOrdered(i);
79  m_aValues.RemoveOrdered(i);
80  }
81  }
82  }
87  int GetOrder(int i)
88  {
89  return m_aOrders[i];
90  }
95  TValue GetValue(int i)
96  {
97  return m_aValues[i];
98  }
102  int Count()
103  {
104  return m_aOrders.Count();
105  }
109  bool IsEmpty()
110  {
111  return m_aOrders.IsEmpty();
112  }
116  bool Contains(TValue value)
117  {
118  return m_aValues.Contains(value);
119  }
125  int Find(TValue value)
126  {
127  return m_aValues.Find(value);
128  }
134  int CopyFrom(notnull SCR_SortedArray<TValue> from)
135  {
136  Clear();
137  int count = from.Count();
138  for (int i = 0; i < count; i++)
139  {
140  m_aOrders.Insert(from.m_aOrders[i]);
141  m_aValues.Insert(from.m_aValues[i]);
142  }
143  return count;
144  }
148  void Clear()
149  {
150  m_aOrders.Clear();
151  m_aValues.Clear();
152  }
158  int ToArray(out notnull array<TValue> outArray)
159  {
160  return outArray.Copy(m_aValues);
161  }
165  void Debug()
166  {
167  PrintFormat("SCR_SortedArray count: %1", Count());
168  for (int i, count = Count(); i < count; i++)
169  {
170  PrintFormat("[%1] => %2: %3", i, m_aOrders[i], m_aValues[i]);
171  }
172  }
173 };
m_aValues
SCR_BaseEditorAttributeEntryTimeSlider m_aValues
Clear
void Clear(GenericEntity entity)
Definition: SCR_GadgetManagerComponent.c:105
CopyFrom
void CopyFrom(SCR_AITargetInfo other)
Definition: SCR_AITargetInfo.c:125
Remove
proto external void Remove(notnull IEntity mine)
Removes the given mine entity.
GetValue
override int GetValue()
Definition: SCR_VotingBase.c:69
Contains
proto external sealed bool Contains(IEntity item)
Get
proto external sealed IEntity Get(int slotID)
index
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
Definition: SCR_DestructionSynchronizationComponent.c:17
GetOrder
int GetOrder()
Definition: SCR_Faction.c:78