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_SingleMagazineWidgetComponent_Base.c
Go to the documentation of this file.
1
class
SCR_SingleMagazineWidgetComponent_Base
:
SCR_ScriptedWidgetComponent
2
{
3
//Magazine
4
[
Attribute
(
"m_MagazineGlow"
)]
5
protected
string
m_sMagazineGlow
;
6
7
[
Attribute
(
"m_MagazineBackground"
)]
8
protected
string
m_sMagazineBackground
;
9
10
[
Attribute
(
"m_MagazineOutline"
)]
11
protected
string
m_sMagazineOutline
;
12
13
[
Attribute
(
"m_MagazineProgress"
)]
14
protected
string
m_sMagazineProgress
;
15
16
[
Attribute
(
"m_ReloadBackground"
)]
17
protected
string
m_sReloadBackground
;
18
19
[
Attribute
(
"m_ReloadOutline"
)]
20
protected
string
m_sReloadOutline
;
21
22
[
Attribute
(
"m_MagazineEmpty"
)]
23
protected
string
m_sMagazineEmpty
;
24
25
//color sets
26
[
Attribute
()]
27
protected
ref WeaponInfoColorSet
m_IdleColorSet
;
28
29
[
Attribute
()]
30
protected
ref WeaponInfoColorSet
m_HighlightColorSet
;
31
32
[
Attribute
()]
33
protected
ref WeaponInfoColorSet
m_DisabledColorSet
;
34
35
//Magazine indicator
36
protected
ImageWidget
m_wMagazineGlow
;
37
protected
ImageWidget
m_wMagazineBackground
;
38
protected
ImageWidget
m_wMagazineOutline
;
39
protected
ImageWidget
m_wMagazineProgress
;
40
protected
ImageWidget
m_wMagazineEmpty
;
41
protected
ImageWidget
m_wReloadBackground
;
42
protected
ImageWidget
m_wReloadOutline
;
43
44
protected
SCR_EWeaponInfoIconState
m_eCurrentState
=
SCR_EWeaponInfoIconState
.IDLE;
45
46
protected
bool
m_bIsActive
=
true
,
m_bIsSelected
;
47
48
49
//------------------------------------------------------------------------------------------------
50
SCR_EWeaponInfoIconState
GetCurrentState
()
51
{
52
return
m_eCurrentState
;
53
}
54
55
//------------------------------------------------------------------------------------------------
56
protected
override
void
HandlerAttached
(
Widget
w)
57
{
58
super.HandlerAttached(w);
59
60
//magazine
61
m_wMagazineGlow
=
ImageWidget
.Cast(w.FindAnyWidget(
m_sMagazineGlow
));
62
m_wMagazineBackground
=
ImageWidget
.Cast(w.FindAnyWidget(
m_sMagazineBackground
));
63
m_wMagazineOutline
=
ImageWidget
.Cast(w.FindAnyWidget(
m_sMagazineOutline
));
64
m_wMagazineProgress
=
ImageWidget
.Cast(w.FindAnyWidget(
m_sMagazineProgress
));
65
m_wMagazineEmpty
=
ImageWidget
.Cast(w.FindAnyWidget(
m_sMagazineEmpty
));
66
m_wReloadBackground
=
ImageWidget
.Cast(w.FindAnyWidget(
m_sReloadBackground
));
67
m_wReloadOutline
=
ImageWidget
.Cast(w.FindAnyWidget(
m_sReloadOutline
));
68
69
}
70
71
//------------------------------------------------------------------------------------------------
72
void
Init
(
BaseWeaponComponent
weapon,
int
height,
SCR_MagazineIndicatorConfiguration
magConfig,
bool
isSelected)
73
{
74
SetMagazineTextures
(magConfig, height);
75
UpdateAmmoCount
(weapon);
76
SetSelected
(isSelected);
77
}
78
79
//------------------------------------------------------------------------------------------------
80
protected
void
SetAllSize
(
int
height)
81
{
82
//magazine icons size
83
84
m_wMagazineOutline
.SetSize(
GetImageDesiredWidth
(
m_wMagazineOutline
, height), height);
85
m_wMagazineGlow
.SetSize(
GetImageDesiredWidth
(
m_wMagazineGlow
, height), height);
86
m_wMagazineBackground
.SetSize(
GetImageDesiredWidth
(
m_wMagazineBackground
, height), height);
87
m_wMagazineProgress
.SetSize(
GetImageDesiredWidth
(
m_wMagazineProgress
, height), height);
88
m_wMagazineEmpty
.SetSize(
GetImageDesiredWidth
(
m_wMagazineEmpty
, height), height);
89
m_wReloadBackground
.SetSize(
GetImageDesiredWidth
(
m_wReloadBackground
, height), height);
90
m_wReloadOutline
.SetSize(
GetImageDesiredWidth
(
m_wReloadOutline
, height), height);
91
}
92
93
//------------------------------------------------------------------------------------------------
94
protected
float
GetImageDesiredWidth
(
ImageWidget
w,
int
height)
95
{
96
int
sx, sy;
97
float
ratio;
98
99
w.GetImageSize(0, sx, sy);
100
101
if
(sy == 0)
102
ratio = 0;
103
else
104
ratio = sx / sy;
105
106
return
height * ratio;
107
}
108
109
//------------------------------------------------------------------------------------------------
110
void
SetMagazineTextures
(
SCR_MagazineIndicatorConfiguration
config,
int
height)
111
{
112
if
(!config)
113
{
114
SetAllSize
(height);
115
return
;
116
}
117
118
if
(config.m_bProgressBar)
119
{
120
SetWidgetImage
(
m_wMagazineOutline
, config.m_sImagesetIcons, config.m_sOutline);
121
SetWidgetImage
(
m_wMagazineBackground
, config.m_sImagesetIcons, config.m_sBackground);
122
SetWidgetImage
(
m_wMagazineGlow
, config.m_sImagesetGlows, config.m_sBackground);
123
}
124
else
125
{
126
SetWidgetImage
(
m_wMagazineOutline
, config.m_sImagesetIcons, config.m_sOutline);
127
SetWidgetImage
(
m_wMagazineGlow
, config.m_sImagesetGlows, config.m_sOutline);
128
}
129
130
SetWidgetImage
(
m_wMagazineEmpty
, config.m_sImagesetIcons, config.m_sEmptyMagazine);
131
132
// Setup textures for reloading indicator
133
SetWidgetImage
(
m_wReloadBackground
, config.m_sImagesetIcons, config.m_sProgress);
134
m_wReloadBackground
.SetVisible(
false
);
135
SetWidgetImage
(
m_wReloadOutline
, config.m_sImagesetIcons, config.m_sOutline);
136
m_wReloadOutline
.SetVisible(
false
);
137
138
139
// Setup visibility, keep only Outline texture, if there is no progress indication
140
m_wMagazineProgress
.SetVisible(config.m_bProgressBar);
141
m_wMagazineBackground
.SetVisible(config.m_bProgressBar);
142
m_wMagazineOutline
.SetOpacity(1);
143
144
145
if
(config.m_bProgressBar)
146
{
147
SetWidgetImage
(
m_wMagazineProgress
, config.m_sImagesetIcons, config.m_sProgress);
148
m_wMagazineProgress
.LoadMaskFromSet(config.m_sImagesetIcons, config.m_sProgressAlphaMask);
149
m_wMagazineProgress
.SetMaskMode(
ImageMaskMode
.REGULAR);
150
}
151
152
SetAllSize
(height);
153
//AnimateWidget_ColorFlash(m_Widgets.m_wMagazineIndicator);
154
}
155
156
//---------------------------------------------------------------------------------------------------------
158
protected
void
SetWidgetImage
(
ImageWidget
w,
string
imageOrImageset,
string
imageName =
""
,
int
size
= -1)
159
{
160
if
(!imageName.IsEmpty())
161
{
162
// Assume it's an image set
163
w.LoadImageFromSet(0, imageOrImageset, imageName);
164
}
165
else
if
(!imageOrImageset.IsEmpty())
166
{
167
// Assume it's an image
168
w.LoadImageTexture(0, imageOrImageset);
169
}
170
171
if
(
size
== -1)
172
return
;
173
174
// Perform resizing
175
int
sx, sy;
176
w.GetImageSize(0, sx, sy);
177
178
float
ratio = sx / sy;
179
180
w.SetSize(
size
* ratio,
size
);
181
}
182
183
//DELEGATED TO CHILDREN
184
//------------------------------------------------------------------------------------------------
185
void
UpdateAmmoCount
(
BaseWeaponComponent
weapon);
186
187
//------------------------------------------------------------------------------------------------
188
protected
void
SetColors
(WeaponInfoColorSet colorSet)
189
{
190
m_wMagazineOutline
.SetColor(colorSet.m_IconColor);
191
m_wMagazineProgress
.SetColor(colorSet.m_IconColor);
192
m_wMagazineEmpty
.SetColor(colorSet.m_IconColor);
193
m_wMagazineBackground
.SetColor(colorSet.m_BackgroundColor);
194
}
195
196
//------------------------------------------------------------------------------------------------
197
protected
void
SetState
(
SCR_EWeaponInfoIconState
newState)
198
{
199
m_eCurrentState
= newState;
200
201
switch
(
m_eCurrentState
){
202
case
SCR_EWeaponInfoIconState
.IDLE:
203
SetColors
(
m_IdleColorSet
);
204
break
;
205
206
case
SCR_EWeaponInfoIconState
.HIGHLIGHTED:
207
SetColors
(
m_HighlightColorSet
);
208
break
;
209
210
case
SCR_EWeaponInfoIconState
.DISABLED:
211
SetColors
(
m_DisabledColorSet
);
212
break
;
213
}
214
}
215
216
//------------------------------------------------------------------------------------------------
217
void
SetSelected
(
bool
selected)
218
{
219
if
(
m_eCurrentState
!=
SCR_EWeaponInfoIconState
.DISABLED)
220
{
221
if
(selected)
222
SetState
(
SCR_EWeaponInfoIconState
.HIGHLIGHTED);
223
else
224
SetState
(
SCR_EWeaponInfoIconState
.IDLE);
225
}
226
}
227
228
//------------------------------------------------------------------------------------------------
229
void
SetActive
(
bool
active)
230
{
231
if
(active)
232
SetState
(
SCR_EWeaponInfoIconState
.IDLE);
233
else
234
SetState
(
SCR_EWeaponInfoIconState
.DISABLED);
235
}
236
237
//------------------------------------------------------------------------------------------------
238
void
DestroyMagazine
()
239
{
240
m_wRoot
.RemoveFromHierarchy();
241
}
242
}
size
int size
Definition
PrefabImporter.c:35
SCR_EWeaponInfoIconState
SCR_EWeaponInfoIconState
Definition
SCR_WeaponInfo_MultiWeaponTurret.c:965
BaseWeaponComponent
Definition
BaseWeaponComponent.c:13
ImageWidget
Definition
ImageWidget.c:13
SCR_MagazineIndicatorConfiguration
Definition
SCR_MagazineIndicatorConfiguration.c:5
SCR_ScriptedWidgetComponent
Definition
SCR_ScriptedWidgetComponent.c:8
SCR_ScriptedWidgetComponent::m_wRoot
Widget m_wRoot
Definition
SCR_ScriptedWidgetComponent.c:9
SCR_SingleMagazineWidgetComponent_Base
Definition
SCR_SingleMagazineWidgetComponent_Base.c:2
SCR_SingleMagazineWidgetComponent_Base::SetState
void SetState(SCR_EWeaponInfoIconState newState)
Definition
SCR_SingleMagazineWidgetComponent_Base.c:197
SCR_SingleMagazineWidgetComponent_Base::m_sMagazineProgress
string m_sMagazineProgress
Definition
SCR_SingleMagazineWidgetComponent_Base.c:14
SCR_SingleMagazineWidgetComponent_Base::DestroyMagazine
void DestroyMagazine()
Definition
SCR_SingleMagazineWidgetComponent_Base.c:238
SCR_SingleMagazineWidgetComponent_Base::m_wMagazineGlow
ImageWidget m_wMagazineGlow
Definition
SCR_SingleMagazineWidgetComponent_Base.c:36
SCR_SingleMagazineWidgetComponent_Base::SetMagazineTextures
void SetMagazineTextures(SCR_MagazineIndicatorConfiguration config, int height)
Definition
SCR_SingleMagazineWidgetComponent_Base.c:110
SCR_SingleMagazineWidgetComponent_Base::m_wMagazineBackground
ImageWidget m_wMagazineBackground
Definition
SCR_SingleMagazineWidgetComponent_Base.c:37
SCR_SingleMagazineWidgetComponent_Base::m_HighlightColorSet
ref WeaponInfoColorSet m_HighlightColorSet
Definition
SCR_SingleMagazineWidgetComponent_Base.c:30
SCR_SingleMagazineWidgetComponent_Base::m_sMagazineOutline
string m_sMagazineOutline
Definition
SCR_SingleMagazineWidgetComponent_Base.c:11
SCR_SingleMagazineWidgetComponent_Base::m_IdleColorSet
ref WeaponInfoColorSet m_IdleColorSet
Definition
SCR_SingleMagazineWidgetComponent_Base.c:27
SCR_SingleMagazineWidgetComponent_Base::m_sMagazineGlow
string m_sMagazineGlow
Definition
SCR_SingleMagazineWidgetComponent_Base.c:5
SCR_SingleMagazineWidgetComponent_Base::m_sMagazineEmpty
string m_sMagazineEmpty
Definition
SCR_SingleMagazineWidgetComponent_Base.c:23
SCR_SingleMagazineWidgetComponent_Base::m_eCurrentState
SCR_EWeaponInfoIconState m_eCurrentState
Definition
SCR_SingleMagazineWidgetComponent_Base.c:44
SCR_SingleMagazineWidgetComponent_Base::SetSelected
void SetSelected(bool selected)
Definition
SCR_SingleMagazineWidgetComponent_Base.c:217
SCR_SingleMagazineWidgetComponent_Base::GetCurrentState
SCR_EWeaponInfoIconState GetCurrentState()
Definition
SCR_SingleMagazineWidgetComponent_Base.c:50
SCR_SingleMagazineWidgetComponent_Base::m_bIsSelected
bool m_bIsSelected
Definition
SCR_SingleMagazineWidgetComponent_Base.c:46
SCR_SingleMagazineWidgetComponent_Base::m_wMagazineProgress
ImageWidget m_wMagazineProgress
Definition
SCR_SingleMagazineWidgetComponent_Base.c:39
SCR_SingleMagazineWidgetComponent_Base::m_wReloadOutline
ImageWidget m_wReloadOutline
Definition
SCR_SingleMagazineWidgetComponent_Base.c:42
SCR_SingleMagazineWidgetComponent_Base::m_sReloadBackground
string m_sReloadBackground
Definition
SCR_SingleMagazineWidgetComponent_Base.c:17
SCR_SingleMagazineWidgetComponent_Base::m_sMagazineBackground
string m_sMagazineBackground
Definition
SCR_SingleMagazineWidgetComponent_Base.c:8
SCR_SingleMagazineWidgetComponent_Base::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_SingleMagazineWidgetComponent_Base.c:56
SCR_SingleMagazineWidgetComponent_Base::SetColors
void SetColors(WeaponInfoColorSet colorSet)
Definition
SCR_SingleMagazineWidgetComponent_Base.c:188
SCR_SingleMagazineWidgetComponent_Base::SetActive
void SetActive(bool active)
Definition
SCR_SingleMagazineWidgetComponent_Base.c:229
SCR_SingleMagazineWidgetComponent_Base::m_wMagazineEmpty
ImageWidget m_wMagazineEmpty
Definition
SCR_SingleMagazineWidgetComponent_Base.c:40
SCR_SingleMagazineWidgetComponent_Base::m_bIsActive
bool m_bIsActive
Definition
SCR_SingleMagazineWidgetComponent_Base.c:46
SCR_SingleMagazineWidgetComponent_Base::m_sReloadOutline
string m_sReloadOutline
Definition
SCR_SingleMagazineWidgetComponent_Base.c:20
SCR_SingleMagazineWidgetComponent_Base::m_wReloadBackground
ImageWidget m_wReloadBackground
Definition
SCR_SingleMagazineWidgetComponent_Base.c:41
SCR_SingleMagazineWidgetComponent_Base::m_wMagazineOutline
ImageWidget m_wMagazineOutline
Definition
SCR_SingleMagazineWidgetComponent_Base.c:38
SCR_SingleMagazineWidgetComponent_Base::m_DisabledColorSet
ref WeaponInfoColorSet m_DisabledColorSet
Definition
SCR_SingleMagazineWidgetComponent_Base.c:33
SCR_SingleMagazineWidgetComponent_Base::Init
void Init(BaseWeaponComponent weapon, int height, SCR_MagazineIndicatorConfiguration magConfig, bool isSelected)
Definition
SCR_SingleMagazineWidgetComponent_Base.c:72
SCR_SingleMagazineWidgetComponent_Base::GetImageDesiredWidth
float GetImageDesiredWidth(ImageWidget w, int height)
Definition
SCR_SingleMagazineWidgetComponent_Base.c:94
SCR_SingleMagazineWidgetComponent_Base::UpdateAmmoCount
void UpdateAmmoCount(BaseWeaponComponent weapon)
SCR_SingleMagazineWidgetComponent_Base::SetAllSize
void SetAllSize(int height)
Definition
SCR_SingleMagazineWidgetComponent_Base.c:80
SCR_SingleMagazineWidgetComponent_Base::SetWidgetImage
void SetWidgetImage(ImageWidget w, string imageOrImageset, string imageName="", int size=-1)
Sets widget's image to an image or imageset.
Definition
SCR_SingleMagazineWidgetComponent_Base.c:158
Widget
Definition
Widget.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
ImageMaskMode
ImageMaskMode
Definition
ImageMaskMode.c:13
scripts
Game
UI
HUD
WeaponInfo
SCR_SingleMagazineWidgetComponent_Base.c
Generated by
1.17.0