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_GMMenuTileComponent.c
Go to the documentation of this file.
1
class
SCR_GMMenuTileComponent
:
SCR_TileBaseComponent
2
{
3
protected
MissionWorkshopItem
m_Item
;
4
protected
ref
SCR_MissionHeader
m_Header
;
5
6
protected
TextWidget
m_wName
;
7
protected
TextWidget
m_wDescription
;
8
9
protected
SCR_InputButtonComponent
m_Play
;
10
protected
SCR_InputButtonComponent
m_Continue
;
11
protected
SCR_InputButtonComponent
m_Restart
;
12
protected
SCR_InputButtonComponent
m_FindServer
;
13
14
protected
bool
m_bFocused
;
15
16
//------------------------------------------------------------------------------------------------
17
override
void
HandlerAttached
(
Widget
w)
18
{
19
super.HandlerAttached(w);
20
21
m_wName
=
TextWidget
.Cast(w.FindAnyWidget(
"Name"
));
22
m_wDescription
=
TextWidget
.Cast(w.FindAnyWidget(
"Description"
));
23
24
m_Play
=
SCR_InputButtonComponent
.
GetInputButtonComponent
(
SCR_ScenarioUICommon
.BUTTON_PLAY, w);
25
if
(
m_Play
)
26
m_Play
.m_OnActivated.Insert(
OnPlay
);
27
28
m_Continue
=
SCR_InputButtonComponent
.
GetInputButtonComponent
(
SCR_ScenarioUICommon
.BUTTON_CONTINUE, w);
29
if
(
m_Continue
)
30
m_Continue
.m_OnActivated.Insert(
OnContinue
);
31
32
m_FindServer
=
SCR_InputButtonComponent
.
GetInputButtonComponent
(
SCR_ScenarioUICommon
.BUTTON_FIND_SERVERS, w);
33
if
(
m_FindServer
)
34
m_FindServer
.m_OnActivated.Insert(
OnFindServers
);
35
36
m_Restart
=
SCR_InputButtonComponent
.
GetInputButtonComponent
(
SCR_ScenarioUICommon
.BUTTON_RESTART, w);
37
if
(
m_Restart
)
38
m_Restart
.m_OnActivated.Insert(
OnRestart
);
39
40
SCR_ServicesStatusHelper
.
GetOnCommStatusCheckFinished
().Insert(
OnCommStatusCheckFinished
);
41
}
42
43
//------------------------------------------------------------------------------------------------
44
override
bool
OnClick
(
Widget
w,
int
x,
int
y,
int
button)
45
{
46
OnPlay
();
47
48
return
super.OnClick(w, x, y, button);
49
}
50
51
//------------------------------------------------------------------------------------------------
52
override
bool
OnFocus
(
Widget
w,
int
x,
int
y)
53
{
54
SCR_ScenarioUICommon
.
UpdateInputButtons
(
m_Item
, {
m_Play
,
m_Continue
,
m_Restart
,
m_FindServer
});
55
56
m_bFocused
=
true
;
57
58
return
super.OnFocus(w, x, y);
59
}
60
61
//------------------------------------------------------------------------------------------------
62
override
bool
OnFocusLost
(
Widget
w,
int
x,
int
y)
63
{
64
SCR_ScenarioUICommon
.
UpdateInputButtons
(
m_Item
, {
m_Play
,
m_Continue
,
m_Restart
,
m_FindServer
},
false
);
65
66
m_bFocused
=
false
;
67
68
return
super.OnFocusLost(w, x, y);
69
}
70
71
//------------------------------------------------------------------------------------------------
74
void
ShowMission
(notnull
MissionWorkshopItem
item)
75
{
76
m_Item
= item;
77
if
(!
m_Item
)
78
return
;
79
80
if
(
m_wName
)
81
m_wName
.SetText(
m_Item
.Name());
82
83
if
(
m_wDescription
)
84
m_wDescription
.SetText(
m_Item
.Description());
85
86
// Set image through SCR_ButtonImageComponent
87
m_Header
=
SCR_MissionHeader
.Cast(
MissionHeader
.ReadMissionHeader(
m_Item
.Id()));
88
89
SCR_ButtonImageComponent
comp =
SCR_ButtonImageComponent
.Cast(
m_wRoot
.FindHandler(
SCR_ButtonImageComponent
));
90
if
(comp)
91
{
92
ResourceName
texture =
GetTexture
();
93
if
(!texture.IsEmpty())
94
comp.SetImage(texture);
95
}
96
97
SCR_ScenarioUICommon
.
UpdateInputButtons
(
m_Item
, {
m_Play
,
m_Continue
,
m_Restart
,
m_FindServer
},
m_bFocused
);
98
}
99
100
//------------------------------------------------------------------------------------------------
102
protected
ResourceName
GetTexture
()
103
{
104
if
(!
m_Header
&&
m_Item
)
105
return
m_Item
.Thumbnail().GetLocalScale(1920).Path();
106
107
if
(!
m_Header
.m_sPreviewImage.IsEmpty())
108
return
m_Header
.m_sPreviewImage;
109
110
if
(!
m_Header
.m_sIcon.IsEmpty())
111
return
m_Header
.m_sIcon;
112
113
return
m_Header
.m_sLoadingScreen;
114
}
115
116
//------------------------------------------------------------------------------------------------
117
protected
void
OnPlay
()
118
{
119
if
(!
m_Item
|| !
SCR_ScenarioUICommon
.
CanPlay
(
m_Item
))
120
return
;
121
122
SCR_ScenarioUICommon
.TryPlayScenario(
m_Item
);
123
SCR_MenuLoadingComponent.SaveLastMenu(
ChimeraMenuPreset
.EditorSelectionMenu);
124
}
125
126
//------------------------------------------------------------------------------------------------
127
protected
void
OnContinue
()
128
{
129
SCR_ScenarioUICommon
.LoadSave(
m_Item
,
m_Header
,
ChimeraMenuPreset
.EditorSelectionMenu);
130
SCR_ScenarioUICommon
.TryPlayScenario(
m_Item
);
131
}
132
133
//------------------------------------------------------------------------------------------------
134
protected
void
OnRestart
()
135
{
136
if
(!
m_Item
|| !
SCR_ScenarioUICommon
.
CanPlay
(
m_Item
))
137
return
;
138
139
SCR_ConfigurableDialogUi
dialog =
SCR_CommonDialogs
.CreateDialog(
SCR_ScenarioUICommon
.DIALOG_RESTART);
140
dialog.
m_OnConfirm
.Insert(
OnRestartConfirmed
);
141
}
142
143
//------------------------------------------------------------------------------------------------
144
protected
void
OnRestartConfirmed
()
145
{
146
SCR_ScenarioUICommon
.TryPlayScenario(
m_Item
);
147
SCR_MenuLoadingComponent.SaveLastMenu(
ChimeraMenuPreset
.EditorSelectionMenu);
148
}
149
150
//------------------------------------------------------------------------------------------------
151
protected
void
OnFindServers
()
152
{
153
if
(!
m_Item
|| !
SCR_ScenarioUICommon
.
CanJoin
(
m_Item
))
154
return
;
155
156
ServerBrowserMenuUI
.
TryOpenServerBrowserWithScenarioFilter
(
m_Item
);
157
}
158
159
//------------------------------------------------------------------------------------------------
160
protected
void
OnCommStatusCheckFinished
(
SCR_ECommStatus
status,
float
responseTime,
float
lastSuccessTime,
float
lastFailTime)
161
{
162
SCR_ScenarioUICommon
.
UpdateInputButtons
(
m_Item
, {
m_Play
,
m_Continue
,
m_Restart
,
m_FindServer
},
m_bFocused
);
163
}
164
}
ChimeraMenuPreset
ChimeraMenuPreset
Menu presets.
Definition
ChimeraMenuBase.c:4
SCR_ECommStatus
SCR_ECommStatus
This class may become obsolete on BackendAPI update.
Definition
SCR_ServicesStatusHelper.c:3
MissionHeader
Definition
MissionHeader.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_OnConfirm
ref ScriptInvoker m_OnConfirm
Definition
SCR_ConfigurableDialogUI.c:47
SCR_GMMenuTileComponent
Definition
SCR_GMMenuTileComponent.c:2
SCR_GMMenuTileComponent::OnFindServers
void OnFindServers()
Definition
SCR_GMMenuTileComponent.c:151
SCR_GMMenuTileComponent::OnClick
override bool OnClick(Widget w, int x, int y, int button)
Definition
SCR_GMMenuTileComponent.c:44
SCR_GMMenuTileComponent::OnFocusLost
override bool OnFocusLost(Widget w, int x, int y)
Definition
SCR_GMMenuTileComponent.c:62
SCR_GMMenuTileComponent::m_wDescription
TextWidget m_wDescription
Definition
SCR_GMMenuTileComponent.c:7
SCR_GMMenuTileComponent::m_bFocused
bool m_bFocused
Definition
SCR_GMMenuTileComponent.c:14
SCR_GMMenuTileComponent::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_GMMenuTileComponent.c:17
SCR_GMMenuTileComponent::OnCommStatusCheckFinished
void OnCommStatusCheckFinished(SCR_ECommStatus status, float responseTime, float lastSuccessTime, float lastFailTime)
Definition
SCR_GMMenuTileComponent.c:160
SCR_GMMenuTileComponent::GetTexture
ResourceName GetTexture()
Definition
SCR_GMMenuTileComponent.c:102
SCR_GMMenuTileComponent::m_Header
ref SCR_MissionHeader m_Header
Definition
SCR_GMMenuTileComponent.c:4
SCR_GMMenuTileComponent::ShowMission
void ShowMission(notnull MissionWorkshopItem item)
Definition
SCR_GMMenuTileComponent.c:74
SCR_GMMenuTileComponent::m_Restart
SCR_InputButtonComponent m_Restart
Definition
SCR_GMMenuTileComponent.c:11
SCR_GMMenuTileComponent::m_Play
SCR_InputButtonComponent m_Play
Definition
SCR_GMMenuTileComponent.c:9
SCR_GMMenuTileComponent::m_wName
TextWidget m_wName
Definition
SCR_GMMenuTileComponent.c:6
SCR_GMMenuTileComponent::OnContinue
void OnContinue()
Definition
SCR_GMMenuTileComponent.c:127
SCR_GMMenuTileComponent::OnRestartConfirmed
void OnRestartConfirmed()
Definition
SCR_GMMenuTileComponent.c:144
SCR_GMMenuTileComponent::m_Item
MissionWorkshopItem m_Item
Definition
SCR_GMMenuTileComponent.c:3
SCR_GMMenuTileComponent::m_Continue
SCR_InputButtonComponent m_Continue
Definition
SCR_GMMenuTileComponent.c:10
SCR_GMMenuTileComponent::OnFocus
override bool OnFocus(Widget w, int x, int y)
Definition
SCR_GMMenuTileComponent.c:52
SCR_GMMenuTileComponent::OnRestart
void OnRestart()
Definition
SCR_GMMenuTileComponent.c:134
SCR_GMMenuTileComponent::OnPlay
void OnPlay()
Definition
SCR_GMMenuTileComponent.c:117
SCR_GMMenuTileComponent::m_FindServer
SCR_InputButtonComponent m_FindServer
Definition
SCR_GMMenuTileComponent.c:12
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_MissionHeader
Definition
SCR_MissionHeader.c:2
SCR_ScenarioUICommon
Definition
SCR_ScenarioUICommon.c:5
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::CanPlay
static bool CanPlay(MissionWorkshopItem mission)
Definition
SCR_ScenarioUICommon.c:227
SCR_ScriptedWidgetComponent::m_wRoot
Widget m_wRoot
Definition
SCR_ScriptedWidgetComponent.c:9
SCR_ServicesStatusHelper
Definition
SCR_ServicesStatusHelper.c:16
SCR_ServicesStatusHelper::GetOnCommStatusCheckFinished
static ScriptInvokerCommStatus GetOnCommStatusCheckFinished()
Definition
SCR_ServicesStatusHelper.c:422
SCR_TileBaseComponent
Definition
SCR_TileBaseComponent.c:2
ServerBrowserMenuUI
Definition
ServerBrowserMenuUI.c:11
ServerBrowserMenuUI::TryOpenServerBrowserWithScenarioFilter
static void TryOpenServerBrowserWithScenarioFilter(MissionWorkshopItem mission)
Definition
ServerBrowserMenuUI.c:2760
TextWidget
Definition
TextWidget.c:16
Widget
Definition
Widget.c:13
scripts
Game
UI
Components
MainMenu
SCR_GMMenuTileComponent.c
Generated by
1.17.0