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_MainMenuTile_MenuComponent.c
Go to the documentation of this file.
1
class
SCR_MainMenuTile_MenuComponent
:
SCR_TileBaseComponent
2
{
3
[
Attribute
(
""
)]
4
string
m_sTitle;
5
6
[
Attribute
(
""
)]
7
string
m_sDescription;
8
9
[
Attribute
(
""
)]
10
ResourceName
m_sImage;
11
12
[
Attribute
(
"-1"
,
UIWidgets
.SearchComboBox, enumType:
ChimeraMenuPreset
)]
13
protected
ChimeraMenuPreset
m_pMenuPreset
;
14
15
protected
TextWidget
m_wName
;
16
protected
TextWidget
m_wDescription
;
17
protected
Widget
m_wTextContent
;
18
protected
Widget
m_DisabledTileShadow
;
19
protected
ImageWidget
m_wBackground
;
20
21
protected
SCR_InputButtonComponent
m_Play
;
22
23
protected
bool
m_bFocused
;
24
protected
bool
m_bDisabled
;
25
26
protected
bool
m_bIsTutorialNeeded
;
27
protected
MissionWorkshopItem
m_TutorialMission
;
28
29
//------------------------------------------------------------------------------------------------
30
override
void
HandlerAttached
(
Widget
w)
31
{
32
super.HandlerAttached(w);
33
34
m_wName
=
TextWidget
.Cast(w.FindAnyWidget(
"Name"
));
35
m_wName
.SetText(m_sTitle);
36
37
m_wDescription
=
TextWidget
.Cast(w.FindAnyWidget(
"Description"
));
38
m_wDescription
.SetVisible(
false
);
39
m_wDescription
.SetText(m_sDescription);
40
41
m_wTextContent
= w.FindAnyWidget(
"TextSizeLayout"
);
42
43
m_wBackground
=
ImageWidget
.Cast(w.FindAnyWidget(
"Shading"
));
44
m_wBackground
.SetVisible(
false
);
45
46
m_DisabledTileShadow
= w.FindAnyWidget(
"m_DisabledTileShadow"
);
47
m_DisabledTileShadow
.SetVisible(
false
);
48
49
SCR_ButtonImageComponent
comp =
SCR_ButtonImageComponent
.Cast(w.FindHandler(
SCR_ButtonImageComponent
));
50
if
(comp)
51
{
52
if
(!m_sImage.IsEmpty())
53
comp.SetImage(m_sImage);
54
}
55
56
m_Play
=
SCR_InputButtonComponent
.
GetInputButtonComponent
(
SCR_ScenarioUICommon
.BUTTON_PLAY, w);
57
m_Play
.m_OnActivated.Insert(
OnPlay
);
58
m_Play
.SetVisible(
m_bFocused
,
false
);
59
60
bool
isMouseInteraction =
GetGame
().GetInputManager().GetLastUsedInputDevice() == EInputDeviceType.MOUSE;
61
62
UpdateButtonInputVisibility
(
m_Play
.GetRootWidget(), !isMouseInteraction);
63
64
GetGame
().OnInputDeviceUserChangedInvoker().Insert(
OnInputDeviceUserChanged
);
65
}
66
67
// React on switching between input methods
68
//------------------------------------------------------------------------------------------------
69
protected
void
OnInputDeviceUserChanged
(EInputDeviceType oldDevice, EInputDeviceType newDevice)
70
{
71
if
(
m_bDisabled
|| newDevice == EInputDeviceType.TRACK_IR || newDevice == EInputDeviceType.JOYSTICK)
72
return
;
73
74
bool
isMouseInteraction = newDevice == EInputDeviceType.MOUSE;
75
76
UpdateButtonInputVisibility
(
m_Play
.GetRootWidget(), !isMouseInteraction);
77
}
78
79
//------------------------------------------------------------------------------------------------
80
protected
void
UpdateButtonInputVisibility
(notnull
Widget
root,
bool
visibility)
81
{
82
Widget
buttonWidget = root.FindAnyWidget(
"InputButtonDisplayRoot"
);
83
if
(!buttonWidget)
84
return
;
85
86
buttonWidget.SetEnabled(visibility);
87
buttonWidget.SetVisible(visibility);
88
}
89
90
//------------------------------------------------------------------------------------------------
91
void
DisableTile
()
92
{
93
m_bDisabled
=
true
;
94
95
m_DisabledTileShadow
.SetVisible(
true
);
96
97
m_Play
.SetEnabled(
false
);
98
}
99
100
//------------------------------------------------------------------------------------------------
101
override
bool
OnClick
(
Widget
w,
int
x,
int
y,
int
button)
102
{
103
if
(button ==
MouseState
.RIGHT)
104
return
true
;
105
106
OnPlay
();
107
108
return
super.OnClick(w, x, y, button);
109
}
110
111
//------------------------------------------------------------------------------------------------
112
override
bool
OnFocus
(
Widget
w,
int
x,
int
y)
113
{
114
if
(
m_bDisabled
)
115
return
super.OnFocus(w, x, y);
116
117
m_bFocused
=
true
;
118
float
position
[4] = {20.0, 0.0, 20.0, 25.0};
119
120
AnimateWidget
.
Padding
(
m_wTextContent
,
position
, 5.0);
121
m_wDescription
.SetVisible(
true
);
122
m_wBackground
.SetVisible(
true
);
123
124
m_Play
.SetVisible(
m_bFocused
,
false
);
125
126
return
super.OnFocus(w, x, y);
127
}
128
129
//------------------------------------------------------------------------------------------------
130
override
bool
OnFocusLost
(
Widget
w,
int
x,
int
y)
131
{
132
m_bFocused
=
false
;
133
float
position
[4] = {20.0, 0.0, 20.0, -70.0};
134
135
AnimateWidget
.
Padding
(
m_wTextContent
,
position
, 5.0);
136
m_wDescription
.SetVisible(
false
);
137
m_wBackground
.SetVisible(
false
);
138
139
m_Play
.SetVisible(
m_bFocused
,
false
);
140
141
return
super.OnFocusLost(w, x, y);
142
}
143
144
//------------------------------------------------------------------------------------------------
145
protected
void
OnPlay
()
146
{
147
if
(
m_bDisabled
)
148
return
;
149
150
if
(
m_bIsTutorialNeeded
)
151
{
152
BaseContainer
settings =
GetGame
().GetGameUserSettings().GetModule(
"SCR_RecentGames"
);
153
154
if
(settings)
155
{
156
int
playTutorialShowCount;
157
158
settings.Get(
"m_iPlayTutorialShowCount"
, playTutorialShowCount);
159
playTutorialShowCount++;
160
161
settings.Set(
"m_iPlayTutorialShowCount"
, playTutorialShowCount);
162
GetGame
().UserSettingsChanged();
163
}
164
165
// Tutorial confirmation dialog
166
SCR_ConfigurableDialogUi
dialog =
SCR_CommonDialogs
.CreateTutorialDialog();
167
if
(dialog)
168
{
169
dialog.
m_OnConfirm
.Insert(
OnPlayTutorial
);
170
dialog.
m_OnCancel
.Insert(
OnPlayMenu
);
171
172
return
;
173
}
174
}
175
176
OnPlayMenu
();
177
}
178
179
//------------------------------------------------------------------------------------------------
180
protected
void
OnPlayMenu
()
181
{
182
GetGame
().GetMenuManager().OpenMenu(
m_pMenuPreset
);
183
}
184
185
//------------------------------------------------------------------------------------------------
186
protected
void
OnPlayTutorial
()
187
{
188
SCR_ScenarioUICommon
.TryPlayScenario(
m_TutorialMission
);
189
SCR_MenuLoadingComponent.SaveLastMenu(
ChimeraMenuPreset
.MainMenu);
190
}
191
192
//------------------------------------------------------------------------------------------------
193
void
SetTutorial
(notnull
MissionWorkshopItem
tutorialMission)
194
{
195
m_TutorialMission
= tutorialMission;
196
m_bIsTutorialNeeded
=
true
;
197
}
198
}
ChimeraMenuPreset
ChimeraMenuPreset
Menu presets.
Definition
ChimeraMenuBase.c:4
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
position
vector position
Definition
SCR_DestructibleTreeV2.c:30
AnimateWidget
Definition
AnimateWidget.c:3
AnimateWidget::Padding
static WidgetAnimationPadding Padding(Widget widget, float padding[4], float speed)
Definition
AnimateWidget.c:235
BaseContainer
Definition
BaseContainer.c:13
ImageWidget
Definition
ImageWidget.c:13
MissionWorkshopItem
Definition
MissionWorkshopItem.c:13
ResourceName
Definition
ResourceName.c:13
SCR_ButtonImageComponent
Definition
SCR_ButtonImageComponent.c:3
SCR_CommonDialogs
Definition
CommonDialogs.c:6
SCR_ConfigurableDialogUi
Definition
SCR_ConfigurableDialogUI.c:17
SCR_ConfigurableDialogUi::m_OnCancel
ref ScriptInvoker m_OnCancel
Definition
SCR_ConfigurableDialogUI.c:48
SCR_ConfigurableDialogUi::m_OnConfirm
ref ScriptInvoker m_OnConfirm
Definition
SCR_ConfigurableDialogUI.c:47
SCR_InputButtonComponent
Definition
SCR_InputButtonComponent.c:2
SCR_InputButtonComponent::GetInputButtonComponent
static SCR_InputButtonComponent GetInputButtonComponent(string name, notnull Widget parent, bool searchAllChildren=true)
Definition
SCR_InputButtonComponent.c:1212
SCR_MainMenuTile_MenuComponent
Definition
SCR_MainMenuTile_MenuComponent.c:2
SCR_MainMenuTile_MenuComponent::OnClick
override bool OnClick(Widget w, int x, int y, int button)
Definition
SCR_MainMenuTile_MenuComponent.c:101
SCR_MainMenuTile_MenuComponent::OnPlayTutorial
void OnPlayTutorial()
Definition
SCR_MainMenuTile_MenuComponent.c:186
SCR_MainMenuTile_MenuComponent::SetTutorial
void SetTutorial(notnull MissionWorkshopItem tutorialMission)
Definition
SCR_MainMenuTile_MenuComponent.c:193
SCR_MainMenuTile_MenuComponent::OnInputDeviceUserChanged
void OnInputDeviceUserChanged(EInputDeviceType oldDevice, EInputDeviceType newDevice)
Definition
SCR_MainMenuTile_MenuComponent.c:69
SCR_MainMenuTile_MenuComponent::m_bIsTutorialNeeded
bool m_bIsTutorialNeeded
Definition
SCR_MainMenuTile_MenuComponent.c:26
SCR_MainMenuTile_MenuComponent::m_TutorialMission
MissionWorkshopItem m_TutorialMission
Definition
SCR_MainMenuTile_MenuComponent.c:27
SCR_MainMenuTile_MenuComponent::m_wDescription
TextWidget m_wDescription
Definition
SCR_MainMenuTile_MenuComponent.c:16
SCR_MainMenuTile_MenuComponent::OnPlayMenu
void OnPlayMenu()
Definition
SCR_MainMenuTile_MenuComponent.c:180
SCR_MainMenuTile_MenuComponent::OnPlay
void OnPlay()
Definition
SCR_MainMenuTile_MenuComponent.c:145
SCR_MainMenuTile_MenuComponent::OnFocusLost
override bool OnFocusLost(Widget w, int x, int y)
Definition
SCR_MainMenuTile_MenuComponent.c:130
SCR_MainMenuTile_MenuComponent::m_wName
TextWidget m_wName
Definition
SCR_MainMenuTile_MenuComponent.c:15
SCR_MainMenuTile_MenuComponent::DisableTile
void DisableTile()
Definition
SCR_MainMenuTile_MenuComponent.c:91
SCR_MainMenuTile_MenuComponent::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_MainMenuTile_MenuComponent.c:30
SCR_MainMenuTile_MenuComponent::m_bFocused
bool m_bFocused
Definition
SCR_MainMenuTile_MenuComponent.c:23
SCR_MainMenuTile_MenuComponent::m_Play
SCR_InputButtonComponent m_Play
Definition
SCR_MainMenuTile_MenuComponent.c:21
SCR_MainMenuTile_MenuComponent::m_bDisabled
bool m_bDisabled
Definition
SCR_MainMenuTile_MenuComponent.c:24
SCR_MainMenuTile_MenuComponent::OnFocus
override bool OnFocus(Widget w, int x, int y)
Definition
SCR_MainMenuTile_MenuComponent.c:112
SCR_MainMenuTile_MenuComponent::m_DisabledTileShadow
Widget m_DisabledTileShadow
Definition
SCR_MainMenuTile_MenuComponent.c:18
SCR_MainMenuTile_MenuComponent::m_wTextContent
Widget m_wTextContent
Definition
SCR_MainMenuTile_MenuComponent.c:17
SCR_MainMenuTile_MenuComponent::m_pMenuPreset
ChimeraMenuPreset m_pMenuPreset
Definition
SCR_MainMenuTile_MenuComponent.c:13
SCR_MainMenuTile_MenuComponent::UpdateButtonInputVisibility
void UpdateButtonInputVisibility(notnull Widget root, bool visibility)
Definition
SCR_MainMenuTile_MenuComponent.c:80
SCR_MainMenuTile_MenuComponent::m_wBackground
ImageWidget m_wBackground
Definition
SCR_MainMenuTile_MenuComponent.c:19
SCR_ScenarioUICommon
Definition
SCR_ScenarioUICommon.c:5
SCR_TileBaseComponent
Definition
SCR_TileBaseComponent.c:2
TextWidget
Definition
TextWidget.c:16
UIWidgets
Definition
attributes.c:40
Widget
Definition
Widget.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
MouseState
MouseState
Definition
MouseState.c:13
scripts
Game
UI
Components
MainMenu
SCR_MainMenuTile_MenuComponent.c
Generated by
1.17.0