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_MenuHelper.c
Go to the documentation of this file.
1
//---- REFACTOR NOTE START: This code will need to be refactored as current implementation is not conforming to the standards ----
2
// This class was a workaround for the lack of a scripted MenuManager
3
5
void
ScriptInvokerActiveWidgetInteractionMethod
(
bool
isActive,
int
delay);
6
typedef
func
ScriptInvokerActiveWidgetInteractionMethod
;
7
typedef
ScriptInvokerBase<ScriptInvokerActiveWidgetInteractionMethod>
ScriptInvokerActiveWidgetInteraction
;
8
9
void
ScriptInvokerDialogMethod
(
DialogUI
dialog);
10
typedef
func
ScriptInvokerDialogMethod
;
11
typedef
ScriptInvokerBase<ScriptInvokerDialogMethod>
ScriptInvokerDialog
;
12
13
void
ScriptInvokerMenuMethod
(
ChimeraMenuBase
menu);
14
typedef
func
ScriptInvokerMenuMethod
;
15
typedef
ScriptInvokerBase<ScriptInvokerMenuMethod>
ScriptInvokerMenu
;
16
17
//------------------------------------------------------------------------------------------------
18
class
SCR_MenuHelper
19
{
20
protected
static
ref
ScriptInvokerActiveWidgetInteraction
m_OnActiveWidgetInteraction
;
21
protected
static
ref
ScriptInvokerDialog
m_OnDialogOpen
;
22
protected
static
ref
ScriptInvokerDialog
m_OnDialogClose
;
23
protected
static
ref
ScriptInvokerMenu
m_OnMenuOpen
;
24
protected
static
ref
ScriptInvokerMenu
m_OnMenuOpened
;
25
protected
static
ref
ScriptInvokerMenu
m_OnMenuClose
;
26
protected
static
ref
ScriptInvokerMenu
m_OnMenuFocusGained
;
27
protected
static
ref
ScriptInvokerMenu
m_OnMenuFocusLost
;
28
protected
static
ref
ScriptInvokerMenu
m_OnMenuShow
;
29
protected
static
ref
ScriptInvokerMenu
m_OnMenuHide
;
30
protected
static
ref
ScriptInvokerTabView
m_OnTabChange
;
31
32
// ---- Invokers ----
33
//------------------------------------------------------------------------------------------------
34
static
ScriptInvokerActiveWidgetInteraction
GetOnActiveWidgetInteraction
()
35
{
36
if
(!
m_OnActiveWidgetInteraction
)
37
m_OnActiveWidgetInteraction
=
new
ScriptInvokerActiveWidgetInteraction
();
38
39
return
m_OnActiveWidgetInteraction
;
40
}
41
42
//------------------------------------------------------------------------------------------------
43
static
ScriptInvokerDialog
GetOnDialogOpen
()
44
{
45
if
(!
m_OnDialogOpen
)
46
m_OnDialogOpen
=
new
ScriptInvokerDialog
();
47
48
return
m_OnDialogOpen
;
49
}
50
51
//------------------------------------------------------------------------------------------------
52
static
ScriptInvokerDialog
GetOnDialogClose
()
53
{
54
if
(!
m_OnDialogClose
)
55
m_OnDialogClose
=
new
ScriptInvokerDialog
();
56
57
return
m_OnDialogClose
;
58
}
59
60
//------------------------------------------------------------------------------------------------
61
static
ScriptInvokerMenu
GetOnMenuOpen
()
62
{
63
if
(!
m_OnMenuOpen
)
64
m_OnMenuOpen
=
new
ScriptInvokerMenu
();
65
66
return
m_OnMenuOpen
;
67
}
68
69
//------------------------------------------------------------------------------------------------
70
static
ScriptInvokerMenu
GetOnMenuOpened
()
71
{
72
if
(!
m_OnMenuOpened
)
73
m_OnMenuOpened
=
new
ScriptInvokerMenu
();
74
75
return
m_OnMenuOpened
;
76
}
77
78
//------------------------------------------------------------------------------------------------
79
static
ScriptInvokerMenu
GetOnMenuClose
()
80
{
81
if
(!
m_OnMenuClose
)
82
m_OnMenuClose
=
new
ScriptInvokerMenu
();
83
84
return
m_OnMenuClose
;
85
}
86
87
//------------------------------------------------------------------------------------------------
88
static
ScriptInvokerMenu
GetOnMenuFocusGained
()
89
{
90
if
(!
m_OnMenuFocusGained
)
91
m_OnMenuFocusGained
=
new
ScriptInvokerMenu
();
92
93
return
m_OnMenuFocusGained
;
94
}
95
96
//------------------------------------------------------------------------------------------------
97
static
ScriptInvokerMenu
GetOnMenuFocusLost
()
98
{
99
if
(!
m_OnMenuFocusLost
)
100
m_OnMenuFocusLost
=
new
ScriptInvokerMenu
();
101
102
return
m_OnMenuFocusLost
;
103
}
104
105
//------------------------------------------------------------------------------------------------
106
static
ScriptInvokerMenu
GetOnMenuShow
()
107
{
108
if
(!
m_OnMenuShow
)
109
m_OnMenuShow
=
new
ScriptInvokerMenu
();
110
111
return
m_OnMenuShow
;
112
}
113
114
//------------------------------------------------------------------------------------------------
115
static
ScriptInvokerMenu
GetOnMenuHide
()
116
{
117
if
(!
m_OnMenuHide
)
118
m_OnMenuHide
=
new
ScriptInvokerMenu
();
119
120
return
m_OnMenuHide
;
121
}
122
123
//------------------------------------------------------------------------------------------------
124
static
ScriptInvokerTabView
GetOnTabChange
()
125
{
126
if
(!
m_OnTabChange
)
127
m_OnTabChange
=
new
ScriptInvokerTabView
();
128
129
return
m_OnTabChange
;
130
}
131
132
// ---- Methods ----
133
//------------------------------------------------------------------------------------------------
136
static
void
SetActiveWidgetInteractionState
(
bool
isActive,
int
delay = 0)
137
{
138
if
(
m_OnActiveWidgetInteraction
)
139
m_OnActiveWidgetInteraction
.Invoke(isActive, delay);
140
}
141
142
//------------------------------------------------------------------------------------------------
144
static
bool
IsInTopMenu
(notnull
Widget
componentRoot)
145
{
146
MenuManager
menuManager =
GetGame
().GetMenuManager();
147
if
(!menuManager)
148
return
false
;
149
150
return
menuManager.
GetOwnerMenu
(componentRoot) == menuManager.
GetTopMenu
();
151
}
152
153
// -- Calls --
154
//------------------------------------------------------------------------------------------------
159
static
void
OnDialogOpen
(
DialogUI
dialog)
160
{
161
if
(
m_OnDialogOpen
)
162
m_OnDialogOpen
.Invoke(dialog);
163
}
164
165
//------------------------------------------------------------------------------------------------
167
static
void
OnDialogClose
(
DialogUI
dialog)
168
{
169
if
(
m_OnDialogClose
)
170
m_OnDialogClose
.Invoke(dialog);
171
}
172
173
//------------------------------------------------------------------------------------------------
176
static
void
OnMenuOpen
(
ChimeraMenuBase
menu)
177
{
178
if
(
m_OnMenuOpen
)
179
m_OnMenuOpen
.Invoke(menu);
180
}
181
182
//------------------------------------------------------------------------------------------------
184
static
void
OnMenuOpened
(
ChimeraMenuBase
menu)
185
{
186
if
(
m_OnMenuOpened
)
187
m_OnMenuOpened
.Invoke(menu);
188
}
189
190
//------------------------------------------------------------------------------------------------
192
static
void
OnMenuClose
(
ChimeraMenuBase
menu)
193
{
194
if
(
m_OnMenuClose
)
195
m_OnMenuClose
.Invoke(menu);
196
}
197
198
//------------------------------------------------------------------------------------------------
200
static
void
OnMenuFocusGained
(
ChimeraMenuBase
menu)
201
{
202
if
(
m_OnMenuFocusGained
)
203
m_OnMenuFocusGained
.Invoke(menu);
204
}
205
206
//------------------------------------------------------------------------------------------------
208
static
void
OnMenuFocusLost
(
ChimeraMenuBase
menu)
209
{
210
if
(
m_OnMenuFocusLost
)
211
m_OnMenuFocusLost
.Invoke(menu);
212
}
213
214
//------------------------------------------------------------------------------------------------
216
static
void
OnMenuShow
(
ChimeraMenuBase
menu)
217
{
218
if
(
m_OnMenuShow
)
219
m_OnMenuShow
.Invoke(menu);
220
}
221
222
//------------------------------------------------------------------------------------------------
224
static
void
OnMenuHide
(
ChimeraMenuBase
menu)
225
{
226
if
(
m_OnMenuHide
)
227
m_OnMenuHide
.Invoke(menu);
228
}
229
230
//------------------------------------------------------------------------------------------------
232
static
void
OnTabChange
(
SCR_TabViewComponent
tabView,
Widget
widget)
233
{
234
if
(
m_OnTabChange
)
235
m_OnTabChange
.Invoke(tabView, widget);
236
}
237
}
238
239
//------------------------------------------------------------------------------------------------
240
enum
SCR_EListMenuWidgetFocus
241
{
242
LIST
= 0,
243
FILTERING
= 1,
244
SORTING
= 2,
245
FALLBACK
= 3,
246
NULL
= 4
247
}
248
249
//---- REFACTOR NOTE END ----
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
func
func
Definition
SCR_AIThreatSystem.c:6
ScriptInvokerActiveWidgetInteraction
ScriptInvokerBase< ScriptInvokerActiveWidgetInteractionMethod > ScriptInvokerActiveWidgetInteraction
Definition
SCR_MenuHelper.c:7
FILTERING
class SCR_MenuHelper FILTERING
ScriptInvokerDialog
ScriptInvokerBase< ScriptInvokerDialogMethod > ScriptInvokerDialog
Definition
SCR_MenuHelper.c:11
ScriptInvokerMenu
ScriptInvokerBase< ScriptInvokerMenuMethod > ScriptInvokerMenu
Definition
SCR_MenuHelper.c:15
ScriptInvokerMenuMethod
func ScriptInvokerMenuMethod
Definition
SCR_MenuHelper.c:14
FALLBACK
class SCR_MenuHelper FALLBACK
SORTING
class SCR_MenuHelper SORTING
ScriptInvokerDialogMethod
func ScriptInvokerDialogMethod
Definition
SCR_MenuHelper.c:10
LIST
class SCR_MenuHelper LIST
ScriptInvokerActiveWidgetInteractionMethod
func ScriptInvokerActiveWidgetInteractionMethod
Definition
SCR_MenuHelper.c:6
ScriptInvokerTabView
ScriptInvokerBase< ScriptInvokerTabViewMethod > ScriptInvokerTabView
Definition
SCR_TabViewComponent.c:3
ChimeraMenuBase
Constant variables used in various menus.
Definition
ChimeraMenuBase.c:72
DialogUI
Definition
DialogUI.c:2
MenuManager
Definition
MenuManager.c:13
MenuManager::GetOwnerMenu
proto external MenuBase GetOwnerMenu(Widget w)
Return owner menu of Widget.
MenuManager::GetTopMenu
proto external MenuBase GetTopMenu()
Returns most top opened menu or nullptr when no menu is opened.
SCR_MenuHelper
Definition
SCR_MenuHelper.c:19
SCR_MenuHelper::m_OnMenuOpen
static ref ScriptInvokerMenu m_OnMenuOpen
Definition
SCR_MenuHelper.c:23
SCR_MenuHelper::GetOnDialogOpen
static ScriptInvokerDialog GetOnDialogOpen()
Definition
SCR_MenuHelper.c:43
SCR_MenuHelper::GetOnDialogClose
static ScriptInvokerDialog GetOnDialogClose()
Definition
SCR_MenuHelper.c:52
SCR_MenuHelper::m_OnDialogClose
static ref ScriptInvokerDialog m_OnDialogClose
Definition
SCR_MenuHelper.c:22
SCR_MenuHelper::OnTabChange
static void OnTabChange(SCR_TabViewComponent tabView, Widget widget)
Called by SCR_TabViewComponent.
Definition
SCR_MenuHelper.c:232
SCR_MenuHelper::GetOnTabChange
static ScriptInvokerTabView GetOnTabChange()
Definition
SCR_MenuHelper.c:124
SCR_MenuHelper::IsInTopMenu
static bool IsInTopMenu(notnull Widget componentRoot)
NB: This will return false if the widget is in a DIALOG on top of the MENU!!!
Definition
SCR_MenuHelper.c:144
SCR_MenuHelper::OnDialogClose
static void OnDialogClose(DialogUI dialog)
Called by DialogUI.
Definition
SCR_MenuHelper.c:167
SCR_MenuHelper::OnMenuFocusLost
static void OnMenuFocusLost(ChimeraMenuBase menu)
Called by ChimeraMenuBase.
Definition
SCR_MenuHelper.c:208
SCR_MenuHelper::m_OnMenuHide
static ref ScriptInvokerMenu m_OnMenuHide
Definition
SCR_MenuHelper.c:29
SCR_MenuHelper::m_OnMenuFocusLost
static ref ScriptInvokerMenu m_OnMenuFocusLost
Definition
SCR_MenuHelper.c:27
SCR_MenuHelper::GetOnMenuShow
static ScriptInvokerMenu GetOnMenuShow()
Definition
SCR_MenuHelper.c:106
SCR_MenuHelper::GetOnMenuFocusLost
static ScriptInvokerMenu GetOnMenuFocusLost()
Definition
SCR_MenuHelper.c:97
SCR_MenuHelper::m_OnMenuClose
static ref ScriptInvokerMenu m_OnMenuClose
Definition
SCR_MenuHelper.c:25
SCR_MenuHelper::OnMenuFocusGained
static void OnMenuFocusGained(ChimeraMenuBase menu)
Called by ChimeraMenuBase.
Definition
SCR_MenuHelper.c:200
SCR_MenuHelper::OnMenuClose
static void OnMenuClose(ChimeraMenuBase menu)
Called by ChimeraMenuBase.
Definition
SCR_MenuHelper.c:192
SCR_MenuHelper::m_OnActiveWidgetInteraction
static ref ScriptInvokerActiveWidgetInteraction m_OnActiveWidgetInteraction
Definition
SCR_MenuHelper.c:20
SCR_MenuHelper::GetOnMenuClose
static ScriptInvokerMenu GetOnMenuClose()
Definition
SCR_MenuHelper.c:79
SCR_MenuHelper::GetOnMenuOpen
static ScriptInvokerMenu GetOnMenuOpen()
Definition
SCR_MenuHelper.c:61
SCR_MenuHelper::GetOnMenuHide
static ScriptInvokerMenu GetOnMenuHide()
Definition
SCR_MenuHelper.c:115
SCR_MenuHelper::OnMenuOpen
static void OnMenuOpen(ChimeraMenuBase menu)
Definition
SCR_MenuHelper.c:176
SCR_MenuHelper::m_OnMenuOpened
static ref ScriptInvokerMenu m_OnMenuOpened
Definition
SCR_MenuHelper.c:24
SCR_MenuHelper::OnMenuOpened
static void OnMenuOpened(ChimeraMenuBase menu)
Called by ChimeraMenuBase.
Definition
SCR_MenuHelper.c:184
SCR_MenuHelper::OnMenuShow
static void OnMenuShow(ChimeraMenuBase menu)
Called by ChimeraMenuBase.
Definition
SCR_MenuHelper.c:216
SCR_MenuHelper::SetActiveWidgetInteractionState
static void SetActiveWidgetInteractionState(bool isActive, int delay=0)
Definition
SCR_MenuHelper.c:136
SCR_MenuHelper::OnDialogOpen
static void OnDialogOpen(DialogUI dialog)
Definition
SCR_MenuHelper.c:159
SCR_MenuHelper::GetOnMenuFocusGained
static ScriptInvokerMenu GetOnMenuFocusGained()
Definition
SCR_MenuHelper.c:88
SCR_MenuHelper::GetOnActiveWidgetInteraction
static ScriptInvokerActiveWidgetInteraction GetOnActiveWidgetInteraction()
Definition
SCR_MenuHelper.c:34
SCR_MenuHelper::m_OnMenuShow
static ref ScriptInvokerMenu m_OnMenuShow
Definition
SCR_MenuHelper.c:28
SCR_MenuHelper::m_OnTabChange
static ref ScriptInvokerTabView m_OnTabChange
Definition
SCR_MenuHelper.c:30
SCR_MenuHelper::m_OnDialogOpen
static ref ScriptInvokerDialog m_OnDialogOpen
Definition
SCR_MenuHelper.c:21
SCR_MenuHelper::OnMenuHide
static void OnMenuHide(ChimeraMenuBase menu)
Called by ChimeraMenuBase.
Definition
SCR_MenuHelper.c:224
SCR_MenuHelper::m_OnMenuFocusGained
static ref ScriptInvokerMenu m_OnMenuFocusGained
Definition
SCR_MenuHelper.c:26
SCR_MenuHelper::GetOnMenuOpened
static ScriptInvokerMenu GetOnMenuOpened()
Definition
SCR_MenuHelper.c:70
SCR_TabViewComponent
Definition
SCR_TabViewComponent.c:14
Widget
Definition
Widget.c:13
NULL
@ NULL
Unknown type.
Definition
DataVarType.c:21
scripts
Game
UI
Menu
SCR_MenuHelper.c
Generated by
1.17.0