Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_ResourceContainerStorageQueue.c
Go to the documentation of this file.
3{
4 protected int m_iOffsetPosition;
5 protected int m_iContainerCount;
6 private array<SCR_ResourceContainer> m_aContainers;
7
8 //------------------------------------------------------------------------------------------------
9 int GetContainerCount()
10 {
11 return m_iContainerCount;
12 }
13
14 //------------------------------------------------------------------------------------------------
15 int GetOffsetPosition()
16 {
17 return m_iOffsetPosition;
18 }
19
20 //------------------------------------------------------------------------------------------------
21 protected int GetUpperOffsetPosition()
22 {
24 }
25
26 //------------------------------------------------------------------------------------------------
28 {
29 return m_aContainers[m_iOffsetPosition + index];
30 }
31
32 //------------------------------------------------------------------------------------------------
34 {
35 if (m_aContainers.IsIndexValid(index))
36 return m_aContainers[index];
37
38 return null;
39 }
40
41 //------------------------------------------------------------------------------------------------
42 bool IsEmpty()
43 {
44 return m_iContainerCount == 0;
45 }
46
47 //------------------------------------------------------------------------------------------------
49 {
50 return false;
51 }
52
53 //------------------------------------------------------------------------------------------------
57 int RegisterContainer(notnull SCR_ResourceContainer container, notnull SCR_ResourceInteractor actor)
58 {
59 return InsertContainerAt(container, ComputePosition(container, actor));
60 }
61
62 //------------------------------------------------------------------------------------------------
65 {
67 return;
68
69 m_aContainers.RemoveOrdered(m_iOffsetPosition);
71 }
72
73 //------------------------------------------------------------------------------------------------
76 {
78 return;
79
80 m_aContainers.RemoveOrdered(m_iOffsetPosition + position);
82 }
83
84 //------------------------------------------------------------------------------------------------
85 int ComputePosition(SCR_ResourceContainer container, SCR_ResourceInteractor actor)
86 {
87 return 0;
88 }
89
90 //------------------------------------------------------------------------------------------------
91 protected int InsertContainerAt(SCR_ResourceContainer container, int index)
92 {
93 if (index == SCR_ResourceContainerQueue.INVALID_CONTAINER_INDEX)
94 return SCR_ResourceContainerQueue.INVALID_CONTAINER_INDEX;
95
97
98 m_aContainers.InsertAt(container, position);
100
101 return position;
102 }
103
104 //------------------------------------------------------------------------------------------------
106 {
107 if (index == SCR_ResourceContainerQueue.INVALID_CONTAINER_INDEX)
108 return SCR_ResourceContainerQueue.INVALID_CONTAINER_INDEX;
109
111
112 m_aContainers.InsertAt(container, position);
113
114 return position;
115 }
116
117 //------------------------------------------------------------------------------------------------
118 void SetOffsetPosition(int offset)
119 {
120 m_iOffsetPosition = offset;
121 }
122
123 //------------------------------------------------------------------------------------------------
124 void IncrementOffset(int increment)
125 {
126 m_iOffsetPosition += increment;
127 }
128
129 //------------------------------------------------------------------------------------------------
130 void DecrementOffset(int decrement)
131 {
132 m_iOffsetPosition -= decrement;
133 }
134
135 //------------------------------------------------------------------------------------------------
136 void Initialize(array<SCR_ResourceContainer> containers)
137 {
138 Reset();
139 m_aContainers = containers;
140 }
141
142 //------------------------------------------------------------------------------------------------
143 void Reset(int offsetPosition = 0)
144 {
145 m_iOffsetPosition = offsetPosition;
147 }
148
149 //------------------------------------------------------------------------------------------------
151 {
152 string content = string.Format("Storage Container Queue of [ %1 ] has: %2 containers", ToString(), m_iContainerCount);
153
154 for (int i = 0; i < m_iContainerCount; i++)
155 {
156 content += string.Format("\n\tContainer %1", GetContainerRelativeAt(i).m_sDebugName);
157 }
158
159 content += "\n";
160
161 Print(string.ToString(content, false, false, false));
162 }
163
164 //------------------------------------------------------------------------------------------------
169};
class RestAPIHelper< JsonApiStruct T > content
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
vector position
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
SCR_ResourceContainer GetContainerRelativeAt(int index)
void Initialize(array< SCR_ResourceContainer > containers)
int InsertContainerAtEx(SCR_ResourceContainer container, int index)
int ComputePosition(SCR_ResourceContainer container, SCR_ResourceInteractor actor)
void UnregisterFirstContainer()
Unegisters the first container in the queue.
int RegisterContainer(notnull SCR_ResourceContainer container, notnull SCR_ResourceInteractor actor)
int InsertContainerAt(SCR_ResourceContainer container, int index)
void UnregisterContainerAt(int position)
Unegisters the container at a specific position in the queue.
SCR_ResourceContainer GetContainerAt(int index)
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
void Reset()
proto external string ToString()
Plain C++ pointer, no weak pointers, no memory management.