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_ContentBrowser_ScenarioSubMenuBase.c
Go to the documentation of this file.
1
/*
2
Sub menu base for handlign scenario lines.
3
*/
4
5
class
SCR_ScenarioMenuLoadContext
6
{
7
ref array<MissionWorkshopItem> m_aScenarios;
8
Widget
m_wListRoot;
9
}
10
11
class
SCR_ContentBrowser_ScenarioSubMenuBase :
SCR_SubMenuBase
12
{
13
[
Attribute
(
"{FEFDB7917AB8310F}UI/layouts/Menus/ContentBrowser/ScenariosMenu/ContentBrowser_ScenarioLine.layout"
,
UIWidgets
.ResourceNamePicker,
".layout for the scenario lines"
,
params
:
"layout"
)]
14
protected
ResourceName
m_sLinesLayout;
15
16
protected
ref array<SCR_ContentBrowser_ScenarioLineComponent>
m_aScenarioLines
= {};
17
18
protected
SCR_ContentBrowser_ScenarioLineComponent
m_SelectedLine
;
19
protected
SCR_ContentBrowser_ScenarioLineComponent
m_LastSelectedLine
;
20
21
protected
MissionWorkshopItem
m_SelectedScenario
;
22
protected
ref
SCR_MissionHeader
m_Header
;
23
24
protected
SCR_ScenarioDetailsPanelComponent
m_ScenarioDetailsPanel
;
25
protected
SCR_AddonDetailsPanelComponent
m_AddonDetailsPanel
;
26
27
// Line Actions
28
protected
EInputDeviceType
m_eLastInputType
;
29
protected
bool
m_bWasLineSelected
;
30
protected
SCR_ContentBrowser_ScenarioLineComponent
m_ClickedLine
;
// Cache last clicked line to trigger the correct dialog after the double click window
31
32
protected
SCR_MenuActionsComponent
m_ActionsComponent
;
33
34
// Nav buttons
35
protected
SCR_InputButtonComponent
m_NavFavorite
;
36
protected
ref array<SCR_InputButtonComponent>
m_aRightFooterButtons
= {};
37
38
// Invokers
39
protected
ref
ScriptInvokerBool
m_OnLineFavorite
;
40
41
protected
bool
m_bIsListeningForCommStatus
;
42
protected
WorkshopApi
m_WorkshopApi
;
43
44
//------------------------------------------------------------------------------------------------
45
override
void
HandlerAttached
(
Widget
w)
46
{
47
super.HandlerAttached(w);
48
InitWidgets
();
49
}
50
51
//------------------------------------------------------------------------------------------------
52
override
void
OnTabCreate
(
Widget
menuRoot,
ResourceName
buttonsLayout,
int
index
)
53
{
54
super.OnTabCreate(menuRoot, buttonsLayout,
index
);
55
56
// Listen for Actions
57
m_ActionsComponent
=
SCR_MenuActionsComponent
.
FindComponent
(
GetRootWidget
());
58
if
(
m_ActionsComponent
)
59
m_ActionsComponent
.GetOnAction().Insert(
OnActionTriggered
);
60
61
// Right footer buttons
62
// These are visible when using keyboard / gamepad and focusing a line
63
m_DynamicFooter.GetOnButtonActivated().Insert(
OnInteractionButtonPressed
);
64
65
m_NavFavorite
= m_DynamicFooter.FindButton(
SCR_ScenarioUICommon
.BUTTON_FAVORITE);
66
m_aRightFooterButtons
= m_DynamicFooter.GetButtonsInFooter(SCR_EDynamicFooterButtonAlignment.RIGHT);
67
68
UpdateNavigationButtons
();
69
70
// Backend
71
m_WorkshopApi
=
GetGame
().GetBackendApi().GetWorkshop();
72
73
InitWorkshopApi
()
74
}
75
76
//------------------------------------------------------------------------------------------------
77
override
void
OnMenuUpdate
(
float
tDelta)
78
{
79
super.OnMenuUpdate(tDelta);
80
82
MissionWorkshopItem
selectedMission =
GetSelectedScenario
();
83
if
(selectedMission &&
m_SelectedScenario
!= selectedMission)
84
{
85
m_SelectedScenario
= selectedMission;
86
m_Header
=
SCR_MissionHeader
.Cast(
MissionHeader
.ReadMissionHeader(selectedMission.Id()));
87
}
88
90
EInputDeviceType inputDeviceType =
GetGame
().GetInputManager().GetLastUsedInputDevice();
91
bool
isLineSelected =
GetSelectedLine
();
92
bool
shouldUpdateButtons = inputDeviceType !=
m_eLastInputType
|| isLineSelected !=
m_bWasLineSelected
;
93
94
if
(shouldUpdateButtons)
95
UpdateNavigationButtons
();
96
97
m_eLastInputType
= inputDeviceType;
98
m_bWasLineSelected
= isLineSelected;
99
}
100
101
//------------------------------------------------------------------------------------------------
102
override
void
OnTabShow
()
103
{
104
super.OnTabShow();
105
106
SCR_ServicesStatusHelper
.
RefreshPing
();
107
108
if
(!
m_bIsListeningForCommStatus
)
109
SCR_ServicesStatusHelper
.
GetOnCommStatusCheckFinished
().Insert(
OnCommStatusCheckFinished
);
110
111
m_bIsListeningForCommStatus
=
true
;
112
113
if
(
m_ActionsComponent
)
114
m_ActionsComponent
.ActivateActions();
115
}
116
117
//------------------------------------------------------------------------------------------------
118
override
void
OnTabHide
()
119
{
120
super.OnTabHide();
121
122
UpdateNavigationButtons
(
false
);
123
124
SCR_ServicesStatusHelper
.
GetOnCommStatusCheckFinished
().Remove(
OnCommStatusCheckFinished
);
125
m_bIsListeningForCommStatus
=
false
;
126
}
127
128
//------------------------------------------------------------------------------------------------
129
override
void
OnMenuFocusGained
()
130
{
131
super.OnMenuFocusGained();
132
133
SCR_ServicesStatusHelper
.
RefreshPing
();
134
135
UpdateNavigationButtons
();
136
137
if
(
m_bShown
&&
m_ActionsComponent
)
138
m_ActionsComponent
.ActivateActions();
139
}
140
141
//------------------------------------------------------------------------------------------------
142
override
void
OnMenuShow
()
143
{
144
super.OnMenuShow();
145
146
if
(
m_bShown
&&
m_ActionsComponent
)
147
m_ActionsComponent
.ActivateActions();
148
}
149
150
// ---- EVENTS ----
151
//------------------------------------------------------------------------------------------------
152
protected
void
OnCommStatusCheckFinished
(
SCR_ECommStatus
status,
float
responseTime,
float
lastSuccessTime,
float
lastFailTime)
153
{
154
UpdateNavigationButtons
();
155
}
156
157
//------------------------------------------------------------------------------------------------
158
protected
void
OnLineFocus
(
SCR_ScriptedWidgetComponent
entry)
159
{
160
SCR_ContentBrowser_ScenarioLineComponent
lineComp =
SCR_ContentBrowser_ScenarioLineComponent
.Cast(entry);
161
162
m_SelectedLine
= lineComp;
163
m_SelectedLine
.m_OnClick.Insert(
OnLineMouseClick
);
164
165
UpdateNavigationButtons
();
166
UpdateSidePanel
();
167
}
168
169
//------------------------------------------------------------------------------------------------
170
protected
void
OnLineFocusLost
(
SCR_ScriptedWidgetComponent
entry)
171
{
172
m_LastSelectedLine
=
m_SelectedLine
;
173
m_SelectedLine
.m_OnClick.Remove(
OnLineMouseClick
);
174
175
UpdateSidePanel
();
176
}
177
178
//------------------------------------------------------------------------------------------------
179
protected
void
OnLineMouseEnter
(
SCR_ScriptedWidgetComponent
entry);
180
181
//------------------------------------------------------------------------------------------------
182
protected
void
OnLineMouseClick
(
SCR_ScriptedWidgetComponent
button)
183
{
184
m_ClickedLine
=
SCR_ContentBrowser_ScenarioLineComponent
.Cast(button);
185
}
186
187
//------------------------------------------------------------------------------------------------
188
protected
void
OnLineFavorite
(
SCR_BrowserListMenuEntryComponent
entry,
bool
favorite)
189
{
190
OnScenarioStateChanged
(
SCR_ContentBrowser_ScenarioLineComponent
.Cast(entry));
191
}
192
193
//------------------------------------------------------------------------------------------------
195
protected
void
OnScenarioStateChanged
(
SCR_ContentBrowser_ScenarioLineComponent
comp)
196
{
197
UpdateSidePanel
();
198
}
199
200
// ---- INPUTS ----
201
// SWITCHES
202
//------------------------------------------------------------------------------------------------
203
protected
void
OnActionTriggered
(
string
action,
float
multiplier)
204
{
206
if
(
GetGame
().
GetInputManager
().GetLastUsedInputDevice() != EInputDeviceType.MOUSE)
207
return
;
208
209
MissionWorkshopItem
scenario =
GetSelectedScenario
();
210
211
switch
(action)
212
{
213
case
UIConstants
.MENU_ACTION_DOUBLE_CLICK:
OnLineClickInteraction
(multiplier);
break
;
214
case
SCR_ScenarioUICommon
.ACTION_RESTART:
Restart
(scenario);
break
;
215
case
SCR_ScenarioUICommon
.ACTION_FIND_SERVERS:
Join
(scenario);
break
;
216
case
UIConstants
.MENU_ACTION_FAVORITE:
OnFavouriteButton
();
break
;
217
case
SCR_ScenarioUICommon
.ACTION_HOST:
218
{
219
if
(!
GetGame
().
IsPlatformGameConsole
())
220
Host
(scenario);
221
break
;
222
}
223
}
224
}
225
226
//------------------------------------------------------------------------------------------------
227
protected
void
OnInteractionButtonPressed
(
string
action)
228
{
229
SwitchOnButton
(action,
GetSelectedScenario
());
230
}
231
232
//------------------------------------------------------------------------------------------------
233
protected
void
OnConfirmationDialogButtonPressed
(
SCR_ScenarioConfirmationDialogUi
dialog,
string
tag)
234
{
235
if
(!dialog)
236
return
;
237
238
SwitchOnButton
(tag, dialog.GetScenario());
239
}
240
241
//------------------------------------------------------------------------------------------------
242
protected
void
SwitchOnButton
(
string
tag,
MissionWorkshopItem
scenario)
243
{
244
switch
(tag)
245
{
246
case
SCR_ConfigurableDialogUi
.
BUTTON_CONFIRM
:
Play
(scenario);
break
;
247
case
SCR_ScenarioUICommon
.BUTTON_PLAY:
Play
(scenario);
break
;
248
case
SCR_ScenarioUICommon
.BUTTON_CONTINUE:
Continue
(scenario);
break
;
249
case
SCR_ScenarioUICommon
.BUTTON_RESTART:
Restart
(scenario);
break
;
250
case
SCR_ScenarioUICommon
.BUTTON_FIND_SERVERS:
Join
(scenario);
break
;
251
case
SCR_ScenarioUICommon
.BUTTON_HOST:
Host
(scenario);
break
;
252
case
SCR_ScenarioUICommon
.BUTTON_FAVORITE:
OnFavouriteButton
();
break
;
253
}
254
}
255
256
// CLICKS
257
//------------------------------------------------------------------------------------------------
258
protected
void
OnLineClickInteraction
(
float
multiplier)
259
{
261
262
SCR_ContentBrowser_ScenarioLineComponent
lineComp =
m_ClickedLine
;
263
if
(!lineComp || !
GetLineUnderCursor
())
264
return
;
265
266
switch
(
Math
.Floor(multiplier))
267
{
268
case
1:
OnLineClick
(lineComp);
break
;
269
case
2:
OnLineDoubleClick
(lineComp);
break
;
270
}
271
272
m_ClickedLine
= null;
273
}
274
275
//------------------------------------------------------------------------------------------------
276
protected
void
OnLineClick
(
SCR_ContentBrowser_ScenarioLineComponent
lineComp)
277
{
278
if
(!lineComp)
279
return
;
280
282
MissionWorkshopItem
scenario = lineComp.
GetScenario
();
283
if
(!scenario)
284
return
;
285
287
if
(
GetGame
().
GetInputManager
().GetLastUsedInputDevice() == EInputDeviceType.MOUSE)
288
{
289
SCR_ScenarioConfirmationDialogUi
scenarioConfirmationDialog;
290
291
// Save details dialog
292
SCR_ContentBrowser_GMSaveLineComponent
saveLineComp =
SCR_ContentBrowser_GMSaveLineComponent
.Cast(lineComp);
293
294
if
(saveLineComp)
295
{
296
// zzz Issue is that this call just create plain SCR_ConfigurableDialog
297
SCR_GMSaveDialog
saveDialog =
SCR_SaveWorkshopManagerUI
.
CreateSaveDetailsnDialog
(scenario,
GetOnLineFavorite
());
298
scenarioConfirmationDialog = saveDialog;
299
300
if
(saveDialog)
301
saveDialog.
SetSave
(saveLineComp.
GetSave
());
302
}
303
304
// Scenario confirm dialog
305
if
(!scenarioConfirmationDialog)
306
scenarioConfirmationDialog =
SCR_ScenarioDialogs
.
CreateScenarioConfirmationDialog
(scenario,
GetOnLineFavorite
());
307
308
if
(!scenarioConfirmationDialog)
309
{
310
OnPlayInteraction
(scenario);
311
return
;
312
}
313
315
scenarioConfirmationDialog.m_OnButtonPressed.Insert(
OnConfirmationDialogButtonPressed
);
316
scenarioConfirmationDialog.GetOnFavorite().Insert(
SetFavorite
);
317
}
319
else
320
{
321
OnPlayInteraction
(scenario);
322
}
323
}
324
325
//------------------------------------------------------------------------------------------------
326
protected
void
OnLineDoubleClick
(
SCR_ContentBrowser_ScenarioLineComponent
lineComp)
327
{
328
if
(!lineComp)
329
return
;
330
331
OnPlayInteraction
(lineComp.
GetScenario
());
332
}
333
334
// BUTTONS
335
//------------------------------------------------------------------------------------------------
336
protected
void
OnFavouriteButton
()
337
{
338
SetFavorite
(
GetSelectedScenario
());
339
if
(
m_NavFavorite
&&
GetSelectedLine
())
340
m_NavFavorite
.SetLabel(
UIConstants
.GetFavoriteLabel(
GetSelectedScenario
().IsFavorite()));
341
}
342
343
// INTERACTIONS
344
//------------------------------------------------------------------------------------------------
345
protected
void
OnPlayInteraction
(
MissionWorkshopItem
scenario)
346
{
347
Continue
(scenario);
348
}
349
350
//------------------------------------------------------------------------------------------------
351
protected
bool
Play
(
MissionWorkshopItem
scenario)
352
{
353
if
(!
SCR_ScenarioUICommon
.
CanPlay
(scenario))
354
return
false
;
355
356
SCR_ScenarioUICommon
.TryPlayScenario(scenario);
357
return
true
;
358
}
359
360
//------------------------------------------------------------------------------------------------
361
protected
bool
Continue
(
MissionWorkshopItem
scenario)
362
{
363
if
(!
SCR_ScenarioUICommon
.
CanPlay
(scenario))
364
return
false
;
365
366
SCR_ScenarioUICommon
.LoadSave(scenario,
m_Header
,
ChimeraMenuPreset
.ScenarioMenu);
367
return
true
;
368
}
369
370
//------------------------------------------------------------------------------------------------
371
protected
void
Restart
(
MissionWorkshopItem
scenario)
372
{
373
if
(!scenario || !
SCR_ScenarioUICommon
.
CanPlay
(scenario))
374
return
;
375
376
m_SelectedScenario
= scenario;
377
m_Header
=
SCR_MissionHeader
.Cast(
MissionHeader
.ReadMissionHeader(scenario.Id()));
378
379
SCR_ConfigurableDialogUi
dialog =
SCR_CommonDialogs
.CreateDialog(
SCR_ScenarioUICommon
.DIALOG_RESTART);
380
dialog.
m_OnConfirm
.Insert(
OnRestartConfirmed
);
381
}
382
383
//------------------------------------------------------------------------------------------------
384
protected
void
OnRestartConfirmed
()
385
{
386
SCR_ScenarioUICommon
.
RestartScenario
(
m_SelectedScenario
);
387
}
388
389
//------------------------------------------------------------------------------------------------
390
protected
void
Join
(
MissionWorkshopItem
scenario)
391
{
392
if
(!scenario || !
SCR_ScenarioUICommon
.
CanJoin
(scenario))
393
return
;
394
395
ServerBrowserMenuUI
.
TryOpenServerBrowserWithScenarioFilter
(scenario);
396
}
397
398
//------------------------------------------------------------------------------------------------
399
protected
void
Host
(
MissionWorkshopItem
scenario)
400
{
401
if
(!scenario || !
SCR_ScenarioUICommon
.
CanHost
(scenario))
402
return
;
403
404
// Open server hosting dialog
405
ServerHostingUI dialog =
SCR_CommonDialogs
.CreateServerHostingDialog();
406
407
if
(dialog)
408
dialog.SelectScenario(scenario);
409
}
410
411
//------------------------------------------------------------------------------------------------
412
protected
void
SetFavorite
(
MissionWorkshopItem
scenario)
413
{
414
if
(!scenario || !
m_SelectedLine
||
m_SelectedLine
.GetScenario() != scenario)
415
return
;
416
417
bool
isFavorite = !scenario.IsFavorite();
418
419
//Update the scenario
420
scenario.SetFavorite(isFavorite);
421
422
//Update the widgets
423
m_SelectedLine
.NotifyScenarioUpdate(
true
);
424
425
//Delegate to update the dialog
426
if
(
m_OnLineFavorite
)
427
m_OnLineFavorite
.Invoke(isFavorite);
428
}
429
430
//------------------------------------------------------------------------------------------------
431
protected
void
CreateLines
(array<MissionWorkshopItem> scenarios,
Widget
parent)
432
{
433
foreach
(
MissionWorkshopItem
scenario : scenarios)
434
{
435
CreateLine
(m_sLinesLayout, parent, scenario)
436
}
437
}
438
439
//------------------------------------------------------------------------------------------------
440
protected
Widget
CreateLine
(
ResourceName
layout
,
Widget
parent,
MissionWorkshopItem
scenario)
441
{
442
Widget
w =
GetGame
().GetWorkspace().CreateWidgets(
layout
, parent);
443
if
(!w)
444
return
null;
445
446
SCR_ContentBrowser_ScenarioLineComponent
comp =
SCR_ContentBrowser_ScenarioLineComponent
.
FindComponent
(w);
447
if
(!comp)
448
return
null;
449
450
comp.
SetScenario
(scenario);
451
m_aScenarioLines
.Insert(comp);
452
453
comp.GetOnFavorite().Insert(
OnLineFavorite
);
454
comp.GetOnMouseInteractionButtonClicked().Insert(
OnInteractionButtonPressed
);
455
comp.GetOnFocus().Insert(
OnLineFocus
);
456
comp.GetOnFocusLost().Insert(
OnLineFocusLost
);
457
comp.GetOnMouseEnter().Insert(
OnLineMouseEnter
);
458
459
return
w;
460
}
461
462
//------------------------------------------------------------------------------------------------
463
protected
void
OnScenariosLoadFailed
();
464
465
//------------------------------------------------------------------------------------------------
466
protected
void
InitWidgets
();
467
468
//------------------------------------------------------------------------------------------------
469
// Inits workshop API according to current mode
470
protected
void
InitWorkshopApi
()
471
{
472
// Scan offline items if needed
473
if
(
m_WorkshopApi
.NeedAddonsScan())
474
m_WorkshopApi
.ScanOfflineItems();
475
}
476
477
//------------------------------------------------------------------------------------------------
478
protected
void
UpdateSidePanel
()
479
{
480
SCR_ContentBrowser_ScenarioLineComponent
lineComp =
GetSelectedLine
();
481
if
(!lineComp)
482
return
;
483
484
// Display panel
485
SCR_ContentBrowser_GMSaveLineComponent
saveLineComp =
SCR_ContentBrowser_GMSaveLineComponent
.Cast(lineComp);
486
bool
isSave = saveLineComp != null;
487
488
if
(
m_AddonDetailsPanel
)
489
m_AddonDetailsPanel
.GetRootWidget().SetVisible(isSave);
490
491
if
(
m_ScenarioDetailsPanel
)
492
m_ScenarioDetailsPanel
.GetRootWidget().SetVisible(!isSave);
493
494
// Fill from save
495
if
(isSave)
496
{
497
if
(
m_AddonDetailsPanel
)
498
m_AddonDetailsPanel
.SetWorkshopItem(saveLineComp.
GetSaveScrWorkshopItem
());
499
500
return
;
501
}
502
503
// Fill scenario
504
MissionWorkshopItem
scenario = lineComp.
GetScenario
();
505
if
(scenario &&
m_ScenarioDetailsPanel
)
506
m_ScenarioDetailsPanel
.SetScenario(scenario);
507
}
508
509
//------------------------------------------------------------------------------------------------
510
protected
void
UpdateNavigationButtons
(
bool
visible =
true
)
511
{
512
MissionWorkshopItem
scenario =
GetSelectedScenario
();
513
SCR_ScenarioUICommon
.
UpdateInputButtons
(scenario,
m_aRightFooterButtons
, visible);
514
515
if
(
m_NavFavorite
)
516
{
517
m_NavFavorite
.SetVisible(visible,
false
);
518
if
(visible)
519
m_NavFavorite
.SetLabel(
UIConstants
.GetFavoriteLabel(
GetSelectedScenario
().IsFavorite()));
520
}
521
}
522
523
//------------------------------------------------------------------------------------------------
524
protected
SCR_ContentBrowser_ScenarioLineComponent
GetSelectedLine
()
525
{
526
// We are not over a line, use currently focused line
527
Widget
wfocused =
GetGame
().GetWorkspace().GetFocusedWidget();
528
SCR_ContentBrowser_ScenarioLineComponent
comp;
529
if
(wfocused)
530
comp =
SCR_ContentBrowser_ScenarioLineComponent
.Cast(wfocused.FindHandler(
SCR_ContentBrowser_ScenarioLineComponent
));
531
532
EInputDeviceType inputDevice =
GetGame
().GetInputManager().GetLastUsedInputDevice();
533
bool
isCursorOnInnerButton =
m_SelectedLine
&&
m_SelectedLine
.IsInnerButtonInteraction();
534
535
if
(inputDevice == EInputDeviceType.MOUSE && (
GetLineUnderCursor
() || isCursorOnInnerButton))
536
return
m_SelectedLine
;
537
else
538
return
comp;
539
}
540
541
//------------------------------------------------------------------------------------------------
542
protected
SCR_ContentBrowser_ScenarioLineComponent
GetLineUnderCursor
()
543
{
544
// Note that this returns null if the cursor is on a button nested inside the line main button
545
546
Widget
w =
WidgetManager
.GetWidgetUnderCursor();
547
548
if
(!w)
549
return
null;
550
551
return
SCR_ContentBrowser_ScenarioLineComponent
.Cast(w.FindHandler(
SCR_ContentBrowser_ScenarioLineComponent
));
552
}
553
554
//------------------------------------------------------------------------------------------------
555
protected
MissionWorkshopItem
GetSelectedScenario
()
556
{
557
SCR_ContentBrowser_ScenarioLineComponent
comp =
GetSelectedLine
();
558
559
if
(!comp)
560
return
null;
561
562
return
comp.
GetScenario
();
563
}
564
565
// ---- PUBLIC ----
566
//------------------------------------------------------------------------------------------------
567
ScriptInvokerBool
GetOnLineFavorite
()
568
{
569
if
(!
m_OnLineFavorite
)
570
m_OnLineFavorite
=
new
ScriptInvokerBool
();
571
572
return
m_OnLineFavorite
;
573
}
574
}
ChimeraMenuPreset
ChimeraMenuPreset
Menu presets.
Definition
ChimeraMenuBase.c:4
IsPlatformGameConsole
bool IsPlatformGameConsole()
Definition
game.c:1357
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
GetInputManager
InputManager GetInputManager()
Definition
SCR_BaseManualCameraComponent.c:205
InitWorkshopApi
void InitWorkshopApi()
Definition
SCR_ContentBrowser_AddonsSubMenu.c:307
m_WorkshopApi
WorkshopApi m_WorkshopApi
Definition
SCR_ContentBrowser_AddonsSubMenu.c:48
UpdateNavigationButtons
void UpdateNavigationButtons()
Definition
SCR_ContentBrowser_AddonsSubMenu.c:672
InitWidgets
void InitWidgets()
Definition
SCR_ContentBrowser_AddonsSubMenu.c:260
OnScenarioStateChanged
override void OnScenarioStateChanged(SCR_ContentBrowser_ScenarioLineComponent comp)
Called from scenario line component when scenario state changes.
Definition
SCR_ContentBrowser_ScenarioSubMenu.c:156
Continue
override bool Continue(MissionWorkshopItem scenario)
Definition
SCR_ContentBrowser_ScenarioSubMenu.c:138
OnRestartConfirmed
override void OnRestartConfirmed()
Definition
SCR_ContentBrowser_ScenarioSubMenu.c:148
OnScenariosLoadFailed
override void OnScenariosLoadFailed()
Definition
SCR_ContentBrowser_ScenarioSubMenu.c:103
m_bIsListeningForCommStatus
bool m_bIsListeningForCommStatus
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:41
m_aScenarioLines
ref array< SCR_ContentBrowser_ScenarioLineComponent > m_aScenarioLines
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:16
m_ClickedLine
SCR_ContentBrowser_ScenarioLineComponent m_ClickedLine
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:30
OnLineDoubleClick
void OnLineDoubleClick(SCR_ContentBrowser_ScenarioLineComponent lineComp)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:326
m_SelectedLine
SCR_ContentBrowser_ScenarioLineComponent m_SelectedLine
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:18
GetSelectedLine
SCR_ContentBrowser_ScenarioLineComponent GetSelectedLine()
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:524
OnLineClick
void OnLineClick(SCR_ContentBrowser_ScenarioLineComponent lineComp)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:276
m_ActionsComponent
SCR_MenuActionsComponent m_ActionsComponent
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:32
Restart
void Restart(MissionWorkshopItem scenario)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:371
m_AddonDetailsPanel
SCR_AddonDetailsPanelComponent m_AddonDetailsPanel
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:25
m_LastSelectedLine
SCR_ContentBrowser_ScenarioLineComponent m_LastSelectedLine
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:19
m_ScenarioDetailsPanel
SCR_ScenarioDetailsPanelComponent m_ScenarioDetailsPanel
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:24
GetLineUnderCursor
SCR_ContentBrowser_ScenarioLineComponent GetLineUnderCursor()
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:542
m_Header
ref SCR_MissionHeader m_Header
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:22
m_eLastInputType
EInputDeviceType m_eLastInputType
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:28
OnLineFavorite
void OnLineFavorite(SCR_BrowserListMenuEntryComponent entry, bool favorite)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:188
m_OnLineFavorite
ref ScriptInvokerBool m_OnLineFavorite
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:39
SetFavorite
void SetFavorite(MissionWorkshopItem scenario)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:412
UpdateSidePanel
void UpdateSidePanel()
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:478
SwitchOnButton
void SwitchOnButton(string tag, MissionWorkshopItem scenario)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:242
OnLineFocus
void OnLineFocus(SCR_ScriptedWidgetComponent entry)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:158
m_bWasLineSelected
bool m_bWasLineSelected
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:29
OnPlayInteraction
void OnPlayInteraction(MissionWorkshopItem scenario)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:345
GetOnLineFavorite
ScriptInvokerBool GetOnLineFavorite()
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:567
OnFavouriteButton
void OnFavouriteButton()
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:336
m_NavFavorite
SCR_InputButtonComponent m_NavFavorite
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:35
GetSelectedScenario
MissionWorkshopItem GetSelectedScenario()
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:555
OnActionTriggered
void OnActionTriggered(string action, float multiplier)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:203
OnInteractionButtonPressed
void OnInteractionButtonPressed(string action)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:227
OnLineFocusLost
void OnLineFocusLost(SCR_ScriptedWidgetComponent entry)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:170
OnLineClickInteraction
void OnLineClickInteraction(float multiplier)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:258
OnConfirmationDialogButtonPressed
void OnConfirmationDialogButtonPressed(SCR_ScenarioConfirmationDialogUi dialog, string tag)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:233
Host
void Host(MissionWorkshopItem scenario)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:399
OnLineMouseClick
void OnLineMouseClick(SCR_ScriptedWidgetComponent button)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:182
m_SelectedScenario
MissionWorkshopItem m_SelectedScenario
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:21
Join
void Join(MissionWorkshopItem scenario)
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:390
OnMenuUpdate
void OnMenuUpdate(float tDelta)
Definition
SCR_CursorEditorUIComponent.c:423
index
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
Definition
SCR_DestructionSynchronizationComponent.c:17
OnMenuFocusGained
void OnMenuFocusGained()
Definition
SCR_EntitiesEditorUIComponent.c:282
layout
UI layouts Menus CleanSweep CleanSweepAreaSelection layout
Definition
SCR_GameModeCleanSweep.c:19
m_bShown
bool m_bShown
Definition
SCR_InfoDisplay.c:61
CreateLine
void CreateLine(notnull Widget rootW, bool drawStart=false)
Definition
SCR_MapDrawingUI.c:17
GetRootWidget
Widget GetRootWidget()
Definition
SCR_ModularButtonComponent.c:189
OnTabHide
override void OnTabHide()
Definition
SCR_NewsSubMenu.c:59
OnTabShow
override void OnTabShow()
Definition
SCR_NewsSubMenu.c:48
OnTabCreate
override void OnTabCreate(Widget menuRoot, ResourceName buttonsLayout, int index)
Definition
SCR_NewsSubMenu.c:33
OnCommStatusCheckFinished
void OnCommStatusCheckFinished(SCR_ECommStatus status, float responseTime, float lastSuccessTime, float lastFailTime)
Definition
SCR_NewsSubMenu.c:125
OnMenuShow
override void OnMenuShow()
Definition
SCR_ProfileSuperMenu.c:41
SCR_ScenarioConfirmationDialogUi
void SCR_ScenarioConfirmationDialogUi(MissionWorkshopItem scenario, ScriptInvokerBool onFavoritesResponse=null)
Definition
SCR_ScenarioDialogs.c:43
m_aRightFooterButtons
ref array< SCR_InputButtonComponent > m_aRightFooterButtons
Definition
SCR_ScenarioDialogs.c:33
ScriptInvokerBool
ScriptInvokerBase< ScriptInvokerBoolMethod > ScriptInvokerBool
Definition
SCR_ScriptInvokerHelper.c:41
OnLineMouseEnter
void OnLineMouseEnter()
Definition
SCR_ServicesStatusDialogComponent.c:892
HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_ServicesStatusDialogComponent.c:556
CreateLines
void CreateLines(Widget w)
Definition
SCR_ServicesStatusDialogComponent.c:610
SCR_ECommStatus
SCR_ECommStatus
This class may become obsolete on BackendAPI update.
Definition
SCR_ServicesStatusHelper.c:3
params
category params
Definition
SCR_SpherePointGeneratorPreviewComponent.c:21
Math
Definition
Math.c:13
MissionHeader
Definition
MissionHeader.c:13
MissionWorkshopItem
Definition
MissionWorkshopItem.c:13
ResourceName
Definition
ResourceName.c:13
SCR_AddonDetailsPanelComponent
Definition
SCR_AddonDetailsPanelComponent.c:8
SCR_BrowserListMenuEntryComponent
Definition
SCR_BrowserListMenuEntryComponent.c:9
SCR_CommonDialogs
Definition
CommonDialogs.c:6
SCR_ConfigurableDialogUi
Definition
SCR_ConfigurableDialogUI.c:17
SCR_ConfigurableDialogUi::m_OnConfirm
ref ScriptInvoker m_OnConfirm
Definition
SCR_ConfigurableDialogUI.c:47
SCR_ConfigurableDialogUi::BUTTON_CONFIRM
static const string BUTTON_CONFIRM
Definition
SCR_ConfigurableDialogUI.c:85
SCR_ContentBrowser_GMSaveLineComponent
Definition
SCR_ContentBrowser_GMSaveLineComponent.c:5
SCR_ContentBrowser_GMSaveLineComponent::GetSave
WorldSaveItem GetSave()
Definition
SCR_ContentBrowser_GMSaveLineComponent.c:55
SCR_ContentBrowser_GMSaveLineComponent::GetSaveScrWorkshopItem
SCR_WorkshopItem GetSaveScrWorkshopItem()
Definition
SCR_ContentBrowser_GMSaveLineComponent.c:61
SCR_ContentBrowser_ScenarioLineComponent
Definition
SCR_ContentBrowser_ScenarioLineComponent.c:5
SCR_ContentBrowser_ScenarioLineComponent::FindComponent
static SCR_ContentBrowser_ScenarioLineComponent FindComponent(Widget w)
Definition
SCR_ContentBrowser_ScenarioLineComponent.c:233
SCR_ContentBrowser_ScenarioLineComponent::SetScenario
void SetScenario(MissionWorkshopItem mission)
Definition
SCR_ContentBrowser_ScenarioLineComponent.c:219
SCR_ContentBrowser_ScenarioLineComponent::GetScenario
MissionWorkshopItem GetScenario()
Definition
SCR_ContentBrowser_ScenarioLineComponent.c:227
SCR_GMSaveDialog
Definition
SCR_GMSaveDialog.c:2
SCR_GMSaveDialog::SetSave
void SetSave(WorldSaveItem save)
PUBLIC.
Definition
SCR_GMSaveDialog.c:69
SCR_InputButtonComponent
Definition
SCR_InputButtonComponent.c:2
SCR_MenuActionsComponent
Definition
SCR_MenuActionsComponent.c:10
SCR_MenuActionsComponent::FindComponent
static SCR_MenuActionsComponent FindComponent(Widget w)
Definition
SCR_MenuActionsComponent.c:212
SCR_MissionHeader
Definition
SCR_MissionHeader.c:2
SCR_SaveWorkshopManagerUI
Definition
SCR_SaveWorkshopManagerUI.c:6
SCR_SaveWorkshopManagerUI::CreateSaveDetailsnDialog
static SCR_GMSaveDialog CreateSaveDetailsnDialog(MissionWorkshopItem scenario, ScriptInvokerBool onFavoritesResponse=null)
Definition
SCR_SaveWorkshopManagerUI.c:36
SCR_ScenarioDetailsPanelComponent
Definition
SCR_ScenarioDetailsPanelComponent.c:7
SCR_ScenarioDialogs
Definition
SCR_ScenarioDialogs.c:6
SCR_ScenarioDialogs::CreateScenarioConfirmationDialog
static SCR_ScenarioConfirmationDialogUi CreateScenarioConfirmationDialog(MissionWorkshopItem scenario, ScriptInvokerBool onFavoritesResponse=null)
Definition
SCR_ScenarioDialogs.c:16
SCR_ScenarioMenuLoadContext
Definition
SCR_ContentBrowser_ScenarioSubMenuBase.c:6
SCR_ScenarioUICommon
Definition
SCR_ScenarioUICommon.c:5
SCR_ScenarioUICommon::RestartScenario
static bool RestartScenario(MissionWorkshopItem scenario)
Definition
SCR_ScenarioUICommon.c:83
SCR_ScenarioUICommon::UpdateInputButtons
static void UpdateInputButtons(MissionWorkshopItem mission, array< SCR_InputButtonComponent > buttons, bool visible=true)
Definition
SCR_ScenarioUICommon.c:604
SCR_ScenarioUICommon::CanJoin
static bool CanJoin(MissionWorkshopItem mission)
Definition
SCR_ScenarioUICommon.c:233
SCR_ScenarioUICommon::CanHost
static bool CanHost(MissionWorkshopItem mission)
Definition
SCR_ScenarioUICommon.c:239
SCR_ScenarioUICommon::CanPlay
static bool CanPlay(MissionWorkshopItem mission)
Definition
SCR_ScenarioUICommon.c:227
SCR_ScriptedWidgetComponent
Definition
SCR_ScriptedWidgetComponent.c:8
SCR_ServicesStatusHelper
Definition
SCR_ServicesStatusHelper.c:16
SCR_ServicesStatusHelper::GetOnCommStatusCheckFinished
static ScriptInvokerCommStatus GetOnCommStatusCheckFinished()
Definition
SCR_ServicesStatusHelper.c:422
SCR_ServicesStatusHelper::RefreshPing
static void RefreshPing()
Definition
SCR_ServicesStatusHelper.c:94
SCR_SubMenuBase
Definition
SCR_SubMenuBase.c:7
ServerBrowserMenuUI
Definition
ServerBrowserMenuUI.c:11
ServerBrowserMenuUI::TryOpenServerBrowserWithScenarioFilter
static void TryOpenServerBrowserWithScenarioFilter(MissionWorkshopItem mission)
Definition
ServerBrowserMenuUI.c:2760
UIConstants
Definition
Constants.c:151
UIWidgets
Definition
attributes.c:40
Widget
Definition
Widget.c:13
WidgetManager
Definition
WidgetManager.c:16
WorkshopApi
Workshop Api instance.
Definition
WorkshopApi.c:14
Play
bool Play()
Start playing the animation. Call 'Prepare' first if you need to change the setup of a component!
Definition
SCR_AudioSource.c:85
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
UI
Menu
ContentBrowser
SCR_ContentBrowser_ScenarioSubMenuBase.c
Generated by
1.17.0