Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_ResourceContainerStorageQueue.c
Go to the documentation of this file.
1
[
BaseContainerProps
()]
2
class
SCR_ResourceContainerStorageQueue
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
{
23
return
m_iOffsetPosition
+
m_iContainerCount
;
24
}
25
26
//------------------------------------------------------------------------------------------------
27
protected
SCR_ResourceContainer
GetContainerRelativeAt
(
int
index
)
28
{
29
return
m_aContainers[
m_iOffsetPosition
+
index
];
30
}
31
32
//------------------------------------------------------------------------------------------------
33
protected
SCR_ResourceContainer
GetContainerAt
(
int
index
)
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
//------------------------------------------------------------------------------------------------
48
bool
ShouldContainerChangeCauseUpdate
()
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
//------------------------------------------------------------------------------------------------
64
void
UnregisterFirstContainer
()
65
{
66
if
(!
m_iContainerCount
)
67
return
;
68
69
m_aContainers.RemoveOrdered(
m_iOffsetPosition
);
70
m_iContainerCount
--;
71
}
72
73
//------------------------------------------------------------------------------------------------
75
void
UnregisterContainerAt
(
int
position
)
76
{
77
if
(!
m_iContainerCount
)
78
return
;
79
80
m_aContainers.RemoveOrdered(
m_iOffsetPosition
+
position
);
81
m_iContainerCount
--;
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
96
int
position
=
m_iOffsetPosition
+
index
;
97
98
m_aContainers.InsertAt(container,
position
);
99
m_iContainerCount
++;
100
101
return
position
;
102
}
103
104
//------------------------------------------------------------------------------------------------
105
int
InsertContainerAtEx
(
SCR_ResourceContainer
container,
int
index
)
106
{
107
if
(
index
== SCR_ResourceContainerQueue.INVALID_CONTAINER_INDEX)
108
return
SCR_ResourceContainerQueue.INVALID_CONTAINER_INDEX;
109
110
int
position
=
m_iOffsetPosition
+
index
;
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;
146
m_iContainerCount
= 0;
147
}
148
149
//------------------------------------------------------------------------------------------------
150
void
DebugPrint
()
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
//------------------------------------------------------------------------------------------------
165
void
SCR_ResourceContainerStorage
()
166
{
167
m_iOffsetPosition
= 0;
168
}
169
};
content
class RestAPIHelper< JsonApiStruct T > content
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
position
vector position
Definition
SCR_DestructibleTreeV2.c:30
index
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
Definition
SCR_DestructionSynchronizationComponent.c:17
SCR_ResourceContainer
Definition
SCR_ResourceContainer.c:35
SCR_ResourceContainerStorageQueue
Definition
SCR_ResourceContainerStorageQueue.c:3
SCR_ResourceContainerStorageQueue::Reset
void Reset(int offsetPosition=0)
Definition
SCR_ResourceContainerStorageQueue.c:143
SCR_ResourceContainerStorageQueue::IncrementOffset
void IncrementOffset(int increment)
Definition
SCR_ResourceContainerStorageQueue.c:124
SCR_ResourceContainerStorageQueue::IsEmpty
bool IsEmpty()
Definition
SCR_ResourceContainerStorageQueue.c:42
SCR_ResourceContainerStorageQueue::GetContainerRelativeAt
SCR_ResourceContainer GetContainerRelativeAt(int index)
Definition
SCR_ResourceContainerStorageQueue.c:27
SCR_ResourceContainerStorageQueue::ShouldContainerChangeCauseUpdate
bool ShouldContainerChangeCauseUpdate()
Definition
SCR_ResourceContainerStorageQueue.c:48
SCR_ResourceContainerStorageQueue::Initialize
void Initialize(array< SCR_ResourceContainer > containers)
Definition
SCR_ResourceContainerStorageQueue.c:136
SCR_ResourceContainerStorageQueue::InsertContainerAtEx
int InsertContainerAtEx(SCR_ResourceContainer container, int index)
Definition
SCR_ResourceContainerStorageQueue.c:105
SCR_ResourceContainerStorageQueue::m_iOffsetPosition
int m_iOffsetPosition
Definition
SCR_ResourceContainerStorageQueue.c:4
SCR_ResourceContainerStorageQueue::GetUpperOffsetPosition
int GetUpperOffsetPosition()
Definition
SCR_ResourceContainerStorageQueue.c:21
SCR_ResourceContainerStorageQueue::ComputePosition
int ComputePosition(SCR_ResourceContainer container, SCR_ResourceInteractor actor)
Definition
SCR_ResourceContainerStorageQueue.c:85
SCR_ResourceContainerStorageQueue::SCR_ResourceContainerStorage
void SCR_ResourceContainerStorage()
Definition
SCR_ResourceContainerStorageQueue.c:165
SCR_ResourceContainerStorageQueue::DecrementOffset
void DecrementOffset(int decrement)
Definition
SCR_ResourceContainerStorageQueue.c:130
SCR_ResourceContainerStorageQueue::m_iContainerCount
int m_iContainerCount
Definition
SCR_ResourceContainerStorageQueue.c:5
SCR_ResourceContainerStorageQueue::UnregisterFirstContainer
void UnregisterFirstContainer()
Unegisters the first container in the queue.
Definition
SCR_ResourceContainerStorageQueue.c:64
SCR_ResourceContainerStorageQueue::RegisterContainer
int RegisterContainer(notnull SCR_ResourceContainer container, notnull SCR_ResourceInteractor actor)
Definition
SCR_ResourceContainerStorageQueue.c:57
SCR_ResourceContainerStorageQueue::DebugPrint
void DebugPrint()
Definition
SCR_ResourceContainerStorageQueue.c:150
SCR_ResourceContainerStorageQueue::SetOffsetPosition
void SetOffsetPosition(int offset)
Definition
SCR_ResourceContainerStorageQueue.c:118
SCR_ResourceContainerStorageQueue::InsertContainerAt
int InsertContainerAt(SCR_ResourceContainer container, int index)
Definition
SCR_ResourceContainerStorageQueue.c:91
SCR_ResourceContainerStorageQueue::UnregisterContainerAt
void UnregisterContainerAt(int position)
Unegisters the container at a specific position in the queue.
Definition
SCR_ResourceContainerStorageQueue.c:75
SCR_ResourceContainerStorageQueue::GetContainerAt
SCR_ResourceContainer GetContainerAt(int index)
Definition
SCR_ResourceContainerStorageQueue.c:33
Print
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
Reset
void Reset()
Definition
SCR_AISectorThreatFilter.c:39
ToString
proto external string ToString()
Plain C++ pointer, no weak pointers, no memory management.
scripts
Game
Sandbox
Resources
ContainerQueue
Storage
Queue
SCR_ResourceContainerStorageQueue.c
Generated by
1.17.0