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_MenuNavigationHeaderComponent.c
Go to the documentation of this file.
1
[
BaseContainerProps
()]
2
class
SCR_MenuNavigationItem
3
{
4
[
Attribute
(
"0"
)]
5
bool
m_bIsSelected;
6
7
[
Attribute
(
""
)]
8
string
m_sTitle;
9
10
[
Attribute
(
"-1"
,
UIWidgets
.SearchComboBox,
""
,
""
, ParamEnumArray.FromEnum(
ChimeraMenuPreset
))]
11
ChimeraMenuPreset
m_eMenuPreset;
12
}
13
14
class
SCR_MenuNavigationHeaderComponent:
SCR_ScriptedWidgetComponent
15
{
16
protected
static
const
ResourceName
ENTRY_LAYOUT
=
"{04A28F3B36FE0F9A}UI/layouts/Menus/ContentBrowser/ScenariosMenu/HeaderNavigationEntry.layout"
;
17
18
protected
ref
SCR_HeaderNavigationWidgets
m_Widgets
=
new
SCR_HeaderNavigationWidgets
;
19
20
[
Attribute
()]
21
protected
ref array<ref SCR_MenuNavigationItem>
m_aItems
;
22
23
protected
int
m_iSelectedId
;
24
25
//------------------------------------------------------------------------------------------------
26
override
void
HandlerAttached
(
Widget
w)
27
{
28
super.HandlerAttached(w);
29
30
m_Widgets
.Init(w);
31
32
// create widget
33
Widget
itemWidget;
34
SCR_MenuNavigationItemComponent
NavItemComp;
35
SCR_ButtonTextComponent
NavButtonComp;
36
foreach
(
int
id
,
SCR_MenuNavigationItem
item:
m_aItems
)
37
{
38
itemWidget =
GetGame
().GetWorkspace().CreateWidgets(
ENTRY_LAYOUT
,
m_Widgets
.m_wHorizontalItems);
39
NavItemComp =
SCR_MenuNavigationItemComponent
.Cast(itemWidget.FindHandler(
SCR_MenuNavigationItemComponent
));
40
NavItemComp.
Init
(item.m_eMenuPreset, item.m_sTitle, item.m_bIsSelected);
41
42
if
(!item.m_bIsSelected)
43
{
44
NavButtonComp =
SCR_ButtonTextComponent
.Cast(itemWidget.FindHandler(
SCR_ButtonTextComponent
));
45
NavButtonComp.m_OnClicked.Insert(
OnClickedEntry
);
46
}
47
else
48
m_iSelectedId
=
id
;
49
}
50
51
// if its the first entry
52
if
(
m_iSelectedId
== 0)
53
DisableNavButton
(
m_Widgets
.m_NavButtonLeftComponent);
54
else
55
m_Widgets
.m_NavButtonLeftComponent.m_OnActivated.Insert(
OnPrevMenu
);
56
57
// if its the last entry
58
if
(
m_iSelectedId
==
m_aItems
.Count() - 1)
59
DisableNavButton
(
m_Widgets
.m_NavButtonRightComponent);
60
else
61
m_Widgets
.m_NavButtonRightComponent.m_OnActivated.Insert(
OnNextMenu
);
62
}
63
64
//------------------------------------------------------------------------------------------------
65
protected
void
OnClickedEntry
(
SCR_ButtonTextComponent
comp)
66
{
67
Widget
root = comp.GetRootWidget();
68
SCR_MenuNavigationItemComponent
NavItemComp =
SCR_MenuNavigationItemComponent
.Cast(root.FindHandler(
SCR_MenuNavigationItemComponent
));
69
OnOpenMenu
(NavItemComp.
GetMenuPreset
());
70
}
71
72
//------------------------------------------------------------------------------------------------
73
protected
void
OnNextMenu
()
74
{
75
SCR_MenuNavigationItem
item =
m_aItems
[
m_iSelectedId
+ 1];
76
OnOpenMenu
(item.m_eMenuPreset);
77
}
78
79
//------------------------------------------------------------------------------------------------
80
protected
void
OnPrevMenu
()
81
{
82
SCR_MenuNavigationItem
item =
m_aItems
[
m_iSelectedId
- 1];
83
OnOpenMenu
(item.m_eMenuPreset);
84
}
85
86
//------------------------------------------------------------------------------------------------
87
protected
void
OnOpenMenu
(
ChimeraMenuPreset
menuToOpen)
88
{
89
GetGame
().GetMenuManager().CloseMenu(
GetGame
().GetMenuManager().GetTopMenu());
90
GetGame
().GetMenuManager().OpenMenu(menuToOpen);
91
}
92
93
//------------------------------------------------------------------------------------------------
94
protected
void
DisableNavButton
(notnull
SCR_InputButtonComponent
comp)
95
{
96
Widget
root = comp.GetRootWidget();
97
98
comp.SetEnabled(
false
);
99
root.SetEnabled(
false
);
100
root.SetOpacity(
UIConstants
.DISABLED_WIDGET_OPACITY);
101
}
102
}
id
AddonBuildInfoTool id
ChimeraMenuPreset
ChimeraMenuPreset
Menu presets.
Definition
ChimeraMenuBase.c:4
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
OnNextMenu
void OnNextMenu()
Definition
SCR_MenuNavigationHeaderComponent.c:73
OnClickedEntry
void OnClickedEntry(SCR_ButtonTextComponent comp)
Definition
SCR_MenuNavigationHeaderComponent.c:65
ENTRY_LAYOUT
class SCR_MenuNavigationItem ENTRY_LAYOUT
m_aItems
ref array< ref SCR_MenuNavigationItem > m_aItems
Definition
SCR_MenuNavigationHeaderComponent.c:21
OnPrevMenu
void OnPrevMenu()
Definition
SCR_MenuNavigationHeaderComponent.c:80
DisableNavButton
void DisableNavButton(notnull SCR_InputButtonComponent comp)
Definition
SCR_MenuNavigationHeaderComponent.c:94
OnOpenMenu
void OnOpenMenu(ChimeraMenuPreset menuToOpen)
Definition
SCR_MenuNavigationHeaderComponent.c:87
m_Widgets
ref SCR_HeaderNavigationWidgets m_Widgets
Definition
SCR_MenuNavigationHeaderComponent.c:18
m_iSelectedId
int m_iSelectedId
Definition
SCR_MenuNavigationHeaderComponent.c:23
ResourceName
Definition
ResourceName.c:13
SCR_ButtonTextComponent
Definition
SCR_ButtonTextComponent.c:3
SCR_HeaderNavigationWidgets
Definition
SCR_HeaderNavigationWidgets.c:4
SCR_InputButtonComponent
Definition
SCR_InputButtonComponent.c:2
SCR_MenuNavigationItemComponent
Definition
SCR_MenuNavigationItemComponent.c:2
SCR_MenuNavigationItemComponent::Init
void Init(ChimeraMenuPreset menuId, string title, bool isSelected=false)
Definition
SCR_MenuNavigationItemComponent.c:12
SCR_MenuNavigationItemComponent::GetMenuPreset
ChimeraMenuPreset GetMenuPreset()
Definition
SCR_MenuNavigationItemComponent.c:31
SCR_MenuNavigationItem
Definition
SCR_MenuNavigationHeaderComponent.c:3
SCR_ScriptedWidgetComponent
Definition
SCR_ScriptedWidgetComponent.c:8
SCR_ScriptedWidgetComponent::HandlerAttached
override void HandlerAttached(Widget w)
Definition
SCR_ScriptedWidgetComponent.c:15
UIConstants
Definition
Constants.c:151
UIWidgets
Definition
attributes.c:40
Widget
Definition
Widget.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
UI
Components
MainMenu
SCR_MenuNavigationHeaderComponent.c
Generated by
1.17.0