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_AddonLineDSConfigComponent.c
Go to the documentation of this file.
1
//----------------------------------------------------------------------------------------------
2
class
SCR_AddonLineDSConfigComponent
:
SCR_AddonLineBaseComponent
3
{
4
protected
const
string
BUTTON_UP
=
"m_UpButton"
;
5
protected
const
string
BUTTON_DOWN
=
"m_DownButton"
;
6
protected
const
string
BUTTON_SORT_CONFIRM
=
"m_SortConfirmButton"
;
7
protected
const
string
BUTTON_DISABLE_REQUIRED
=
"m_DisableRequiredButton"
;
8
9
// Marks the addon as enabled in the hosting menu, but does NOT actually enable the addon. It's a flag for the creation of the server config
10
protected
bool
m_bWidgetEnabled
;
11
12
// Marks which addons must be added to the server config to play a specific scenario
13
protected
bool
m_bRequired
;
14
15
// Sort buttons
16
protected
SCR_ModularButtonComponent
m_ButtonUp
;
17
protected
SCR_ModularButtonComponent
m_ButtonDown
;
18
protected
SCR_ModularButtonComponent
m_ButtonSortConfirm
;
19
protected
SCR_ModularButtonComponent
m_ButtonDisableRequired
;
20
21
protected
bool
m_bOnBottom
;
22
protected
bool
m_bIsSorting
;
23
24
protected
ref
ScriptInvokerScriptedWidgetComponent
Event_OnButtonUp
;
25
protected
ref
ScriptInvokerScriptedWidgetComponent
Event_OnButtonDown
;
26
protected
ref
ScriptInvokerScriptedWidgetComponent
m_OnSortConfirm
;
27
protected
ref
ScriptInvokerScriptedWidgetComponent
m_OnRequiredDisabled
;
28
29
//----------------------------------------------------------------------------------------------
30
override
void
Init
(
SCR_WorkshopItem
item)
31
{
32
// Sorting buttons
33
// Up
34
Widget
wButtonUp =
m_wRoot
.FindAnyWidget(
BUTTON_UP
);
35
if
(wButtonUp)
36
m_ButtonUp
= SCR_ModularButtonComponent.FindComponent(wButtonUp);
37
38
if
(
m_ButtonUp
)
39
{
40
m_ButtonUp
.m_OnClicked.Insert(
InvokeEventOnButtonUp
);
41
m_aMouseButtons
.Insert(
m_ButtonUp
);
42
}
43
44
// Down
45
Widget
wButtonDown =
m_wRoot
.FindAnyWidget(
BUTTON_DOWN
);
46
if
(wButtonDown)
47
m_ButtonDown
= SCR_ModularButtonComponent.FindComponent(wButtonDown);
48
49
if
(
m_ButtonDown
)
50
{
51
m_ButtonDown
.m_OnClicked.Insert(
InvokeEventOnButtonDown
);
52
m_aMouseButtons
.Insert(
m_ButtonDown
);
53
}
54
55
// Confirm
56
Widget
sortConfirm =
m_wRoot
.FindAnyWidget(
BUTTON_SORT_CONFIRM
);
57
if
(sortConfirm)
58
m_ButtonSortConfirm
= SCR_ModularButtonComponent.FindComponent(sortConfirm);
59
60
if
(
m_ButtonSortConfirm
)
61
{
62
m_ButtonSortConfirm
.m_OnClicked.Insert(
OnSortConfirm
);
63
m_aMouseButtons
.Insert(
m_ButtonSortConfirm
);
64
}
65
66
// Disable required
67
Widget
disableRequired =
m_wRoot
.FindAnyWidget(
BUTTON_DISABLE_REQUIRED
);
68
if
(disableRequired)
69
m_ButtonDisableRequired
= SCR_ModularButtonComponent.FindComponent(disableRequired);
70
71
if
(
m_ButtonDisableRequired
)
72
m_ButtonDisableRequired
.m_OnClicked.Insert(
OnDisableButton
);
73
74
// Setup rest
75
super.Init(item);
76
77
HandleEnableButtons
(
m_bWidgetEnabled
,
m_bIsSorting
);
78
}
79
80
//----------------------------------------------------------------------------------------------
81
override
void
UpdateAllWidgets
()
82
{
83
super.UpdateAllWidgets();
84
85
HandleEnableButtons
(
m_bWidgetEnabled
,
m_bIsSorting
);
86
HandleSortingButtons
();
87
88
// Hide action buttons
89
m_Widgets
.m_DeleteButtonComponent0.SetVisible(
false
);
90
91
m_Widgets
.m_wHorizontalState.SetVisible(
false
);
92
m_Widgets
.m_UpdateButtonComponent0.SetVisible(
false
);
93
}
94
95
//------------------------------------------------------------------------------------------------
96
override
void
HandleEnableButtons
(
bool
addonEnabled,
bool
forceHidden =
false
)
97
{
98
super.HandleEnableButtons(addonEnabled, forceHidden);
99
100
if
(
m_bRequired
&&
m_bWidgetEnabled
)
101
m_Widgets
.m_wSizeMoveLeft.SetVisible(
false
);
102
103
if
(
m_ButtonDisableRequired
)
104
m_ButtonDisableRequired
.SetVisible(
m_bRequired
&&
m_bWidgetEnabled
);
105
}
106
107
//------------------------------------------------------------------------------------------------
108
override
void
OnDisableButton
()
109
{
110
if
(!
m_bRequired
)
111
{
112
super.OnDisableButton();
113
return
;
114
}
115
116
SCR_ConfigurableDialogUi
dialog =
SCR_ServerHostingDialogs
.CreateRequiredDisableDialog();
117
if
(dialog)
118
dialog.
m_OnConfirm
.Insert(
OnRequiredDisableDialogConfirm
);
119
}
120
121
//----------------------------------------------------------------------------------------------
122
override
bool
IsEnabled
()
123
{
124
return
m_bWidgetEnabled
;
125
}
126
127
// Display oredering buttons if enabled
128
//------------------------------------------------------------------------------------------------
129
protected
void
HandleSortingButtons
()
130
{
131
bool
onTop =
m_wRoot
.GetZOrder() == 0;
132
bool
visible =
m_bIsSorting
|| (
m_bFocused
&&
GetGame
().GetInputManager().GetLastUsedInputDevice() == EInputDeviceType.MOUSE);
133
134
if
(
m_ButtonUp
)
135
m_ButtonUp
.SetVisible(!onTop &&
m_bWidgetEnabled
&& visible);
136
137
if
(
m_ButtonDown
)
138
m_ButtonDown
.SetVisible(!
m_bOnBottom
&&
m_bWidgetEnabled
&& visible);
139
140
if
(
m_ButtonSortConfirm
)
141
m_ButtonSortConfirm
.SetVisible(
m_bIsSorting
);
142
}
143
144
//------------------------------------------------------------------------------------------------
145
protected
void
OnRequiredDisableDialogConfirm
()
146
{
147
if
(
m_OnRequiredDisabled
)
148
m_OnRequiredDisabled
.Invoke(
this
);
149
150
super.OnDisableButton();
151
}
152
153
//------------------------------------------------------------------------------------------------
154
protected
void
OnSortConfirm
()
155
{
156
if
(
m_OnSortConfirm
)
157
m_OnSortConfirm
.Invoke(
this
);
158
}
159
160
//------------------------------------------------------------------------------------------------
161
protected
void
InvokeEventOnButtonUp
()
162
{
163
if
(
Event_OnButtonUp
)
164
Event_OnButtonUp
.Invoke(
this
);
165
}
166
167
//------------------------------------------------------------------------------------------------
168
protected
void
InvokeEventOnButtonDown
()
169
{
170
if
(
Event_OnButtonDown
)
171
Event_OnButtonDown
.Invoke(
this
);
172
}
173
174
//----------------------------------------------------------------------------------------------
175
// API
176
//----------------------------------------------------------------------------------------------
177
//----------------------------------------------------------------------------------------------
178
void
SetWidgetEnabled
(
bool
enabled)
179
{
180
if
(
m_bRequired
)
181
enabled =
true
;
182
183
m_bWidgetEnabled
= enabled;
184
UpdateAllWidgets
();
185
}
186
187
//----------------------------------------------------------------------------------------------
188
void
SetRequired
(
bool
required)
189
{
190
m_bRequired
= required;
191
HandleEnableButtons
(
m_bWidgetEnabled
,
m_bIsSorting
);
192
}
193
194
//----------------------------------------------------------------------------------------------
195
bool
IsItemRequired
()
196
{
197
return
m_bRequired
;
198
}
199
200
//----------------------------------------------------------------------------------------------
201
void
SetOnBottom
(
bool
onBottom)
202
{
203
m_bOnBottom
= onBottom;
204
}
205
206
//----------------------------------------------------------------------------------------------
207
void
NotifySorting
(
bool
sorting)
208
{
209
m_bIsSorting
= sorting;
210
HandleSortingButtons
();
211
HandleEnableButtons
(
m_bWidgetEnabled
, sorting);
212
}
213
214
//------------------------------------------------------------------------------------------------
215
ScriptInvokerScriptedWidgetComponent
GetEventOnButtonUp
()
216
{
217
if
(!
Event_OnButtonUp
)
218
Event_OnButtonUp
=
new
ScriptInvokerScriptedWidgetComponent
();
219
220
return
Event_OnButtonUp
;
221
}
222
223
//------------------------------------------------------------------------------------------------
224
ScriptInvokerScriptedWidgetComponent
GetEventOnButtonDown
()
225
{
226
if
(!
Event_OnButtonDown
)
227
Event_OnButtonDown
=
new
ScriptInvokerScriptedWidgetComponent
();
228
229
return
Event_OnButtonDown
;
230
}
231
232
//------------------------------------------------------------------------------------------------
233
ScriptInvokerScriptedWidgetComponent
GetOnSortConfirm
()
234
{
235
if
(!
m_OnSortConfirm
)
236
m_OnSortConfirm
=
new
ScriptInvokerScriptedWidgetComponent
();
237
238
return
m_OnSortConfirm
;
239
}
240
241
//------------------------------------------------------------------------------------------------
242
ScriptInvokerScriptedWidgetComponent
GetOnRequiredDisabled
()
243
{
244
if
(!
m_OnRequiredDisabled
)
245
m_OnRequiredDisabled
=
new
ScriptInvokerScriptedWidgetComponent
();
246
247
return
m_OnRequiredDisabled
;
248
}
249
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
ScriptInvokerScriptedWidgetComponent
ScriptInvokerBase< ScriptInvokerScriptedWidgetComponentMethod > ScriptInvokerScriptedWidgetComponent
Definition
SCR_ScriptedWidgetComponent.c:4
SCR_AddonLineBaseComponent
Definition
SCR_AddonLineBaseComponent.c:8
SCR_AddonLineBaseComponent::m_Widgets
ref SCR_AddonLineBaseWidgets m_Widgets
Definition
SCR_AddonLineBaseComponent.c:10
SCR_AddonLineDSConfigComponent
Definition
SCR_AddonLineDSConfigComponent.c:3
SCR_AddonLineDSConfigComponent::m_bWidgetEnabled
bool m_bWidgetEnabled
Definition
SCR_AddonLineDSConfigComponent.c:10
SCR_AddonLineDSConfigComponent::IsItemRequired
bool IsItemRequired()
Definition
SCR_AddonLineDSConfigComponent.c:195
SCR_AddonLineDSConfigComponent::SetWidgetEnabled
void SetWidgetEnabled(bool enabled)
Definition
SCR_AddonLineDSConfigComponent.c:178
SCR_AddonLineDSConfigComponent::m_OnRequiredDisabled
ref ScriptInvokerScriptedWidgetComponent m_OnRequiredDisabled
Definition
SCR_AddonLineDSConfigComponent.c:27
SCR_AddonLineDSConfigComponent::m_bIsSorting
bool m_bIsSorting
Definition
SCR_AddonLineDSConfigComponent.c:22
SCR_AddonLineDSConfigComponent::OnDisableButton
override void OnDisableButton()
Definition
SCR_AddonLineDSConfigComponent.c:108
SCR_AddonLineDSConfigComponent::m_ButtonSortConfirm
SCR_ModularButtonComponent m_ButtonSortConfirm
Definition
SCR_AddonLineDSConfigComponent.c:18
SCR_AddonLineDSConfigComponent::OnSortConfirm
void OnSortConfirm()
Definition
SCR_AddonLineDSConfigComponent.c:154
SCR_AddonLineDSConfigComponent::InvokeEventOnButtonUp
void InvokeEventOnButtonUp()
Definition
SCR_AddonLineDSConfigComponent.c:161
SCR_AddonLineDSConfigComponent::BUTTON_DISABLE_REQUIRED
const string BUTTON_DISABLE_REQUIRED
Definition
SCR_AddonLineDSConfigComponent.c:7
SCR_AddonLineDSConfigComponent::OnRequiredDisableDialogConfirm
void OnRequiredDisableDialogConfirm()
Definition
SCR_AddonLineDSConfigComponent.c:145
SCR_AddonLineDSConfigComponent::Event_OnButtonDown
ref ScriptInvokerScriptedWidgetComponent Event_OnButtonDown
Definition
SCR_AddonLineDSConfigComponent.c:25
SCR_AddonLineDSConfigComponent::BUTTON_UP
const string BUTTON_UP
Definition
SCR_AddonLineDSConfigComponent.c:4
SCR_AddonLineDSConfigComponent::UpdateAllWidgets
override void UpdateAllWidgets()
Definition
SCR_AddonLineDSConfigComponent.c:81
SCR_AddonLineDSConfigComponent::HandleSortingButtons
void HandleSortingButtons()
Definition
SCR_AddonLineDSConfigComponent.c:129
SCR_AddonLineDSConfigComponent::m_bOnBottom
bool m_bOnBottom
Definition
SCR_AddonLineDSConfigComponent.c:21
SCR_AddonLineDSConfigComponent::GetOnSortConfirm
ScriptInvokerScriptedWidgetComponent GetOnSortConfirm()
Definition
SCR_AddonLineDSConfigComponent.c:233
SCR_AddonLineDSConfigComponent::m_ButtonDisableRequired
SCR_ModularButtonComponent m_ButtonDisableRequired
Definition
SCR_AddonLineDSConfigComponent.c:19
SCR_AddonLineDSConfigComponent::GetEventOnButtonDown
ScriptInvokerScriptedWidgetComponent GetEventOnButtonDown()
Definition
SCR_AddonLineDSConfigComponent.c:224
SCR_AddonLineDSConfigComponent::m_ButtonDown
SCR_ModularButtonComponent m_ButtonDown
Definition
SCR_AddonLineDSConfigComponent.c:17
SCR_AddonLineDSConfigComponent::InvokeEventOnButtonDown
void InvokeEventOnButtonDown()
Definition
SCR_AddonLineDSConfigComponent.c:168
SCR_AddonLineDSConfigComponent::NotifySorting
void NotifySorting(bool sorting)
Definition
SCR_AddonLineDSConfigComponent.c:207
SCR_AddonLineDSConfigComponent::GetEventOnButtonUp
ScriptInvokerScriptedWidgetComponent GetEventOnButtonUp()
Definition
SCR_AddonLineDSConfigComponent.c:215
SCR_AddonLineDSConfigComponent::SetRequired
void SetRequired(bool required)
Definition
SCR_AddonLineDSConfigComponent.c:188
SCR_AddonLineDSConfigComponent::BUTTON_SORT_CONFIRM
const string BUTTON_SORT_CONFIRM
Definition
SCR_AddonLineDSConfigComponent.c:6
SCR_AddonLineDSConfigComponent::m_ButtonUp
SCR_ModularButtonComponent m_ButtonUp
Definition
SCR_AddonLineDSConfigComponent.c:16
SCR_AddonLineDSConfigComponent::IsEnabled
override bool IsEnabled()
Definition
SCR_AddonLineDSConfigComponent.c:122
SCR_AddonLineDSConfigComponent::m_OnSortConfirm
ref ScriptInvokerScriptedWidgetComponent m_OnSortConfirm
Definition
SCR_AddonLineDSConfigComponent.c:26
SCR_AddonLineDSConfigComponent::HandleEnableButtons
override void HandleEnableButtons(bool addonEnabled, bool forceHidden=false)
Definition
SCR_AddonLineDSConfigComponent.c:96
SCR_AddonLineDSConfigComponent::SetOnBottom
void SetOnBottom(bool onBottom)
Definition
SCR_AddonLineDSConfigComponent.c:201
SCR_AddonLineDSConfigComponent::m_bRequired
bool m_bRequired
Definition
SCR_AddonLineDSConfigComponent.c:13
SCR_AddonLineDSConfigComponent::Event_OnButtonUp
ref ScriptInvokerScriptedWidgetComponent Event_OnButtonUp
Definition
SCR_AddonLineDSConfigComponent.c:24
SCR_AddonLineDSConfigComponent::BUTTON_DOWN
const string BUTTON_DOWN
Definition
SCR_AddonLineDSConfigComponent.c:5
SCR_AddonLineDSConfigComponent::GetOnRequiredDisabled
ScriptInvokerScriptedWidgetComponent GetOnRequiredDisabled()
Definition
SCR_AddonLineDSConfigComponent.c:242
SCR_AddonLineDSConfigComponent::Init
override void Init(SCR_WorkshopItem item)
Definition
SCR_AddonLineDSConfigComponent.c:30
SCR_ConfigurableDialogUi
Definition
SCR_ConfigurableDialogUI.c:17
SCR_ConfigurableDialogUi::m_OnConfirm
ref ScriptInvoker m_OnConfirm
Definition
SCR_ConfigurableDialogUI.c:47
SCR_ListMenuEntryComponent::m_bFocused
bool m_bFocused
Definition
SCR_ListMenuEntryComponent.c:18
SCR_ListMenuEntryComponent::m_aMouseButtons
ref array< SCR_ModularButtonComponent > m_aMouseButtons
Definition
SCR_ListMenuEntryComponent.c:13
SCR_ScriptedWidgetComponent::m_wRoot
Widget m_wRoot
Definition
SCR_ScriptedWidgetComponent.c:9
SCR_ServerHostingDialogs
Definition
SCR_ServerHostingDialogs.c:2
SCR_WorkshopItem
Definition
SCR_WorkshopItem.c:28
Widget
Definition
Widget.c:13
scripts
Game
UI
Menu
ServerBrowser
ServerHosting
SCR_AddonLineDSConfigComponent.c
Generated by
1.17.0