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_CommandPostMapMenuUI.c
Go to the documentation of this file.
1
3
class
SCR_CommandPostMapMenuUI
:
SCR_MapMenuUI
4
{
5
protected
ref
ScriptInvokerVoid
m_OnClosedByEditor
=
new
ScriptInvokerVoid
();
6
7
protected
bool
m_bWasMapClosedByEditor
;
8
protected
SCR_CharacterControllerComponent
m_CharacterController
;
9
10
//------------------------------------------------------------------------------------------------
11
ScriptInvokerVoid
GetOnClosedByEditor
()
12
{
13
return
m_OnClosedByEditor
;
14
}
15
16
//------------------------------------------------------------------------------------------------
17
protected
void
OpenMap
()
18
{
19
if
(
m_MapEntity
)
20
{
21
BaseGameMode gameMode =
GetGame
().GetGameMode();
22
if
(!gameMode)
23
return
;
24
25
SCR_MapConfigComponent configComp = SCR_MapConfigComponent.Cast(gameMode.FindComponent(SCR_MapConfigComponent));
26
if
(!configComp)
27
return
;
28
29
EMapEntityMode
currentMapEntityMode = configComp.GetCommandPostMapEntityMode();
30
ResourceName
configResourceName =
""
;
31
32
switch
(currentMapEntityMode)
33
{
34
case
EMapEntityMode
.COMBAT_SUPPORT_STATION :
35
configResourceName = configComp.GetCombatSupportStationMapConfig();
36
break
;
37
38
case
EMapEntityMode
.OPERATIONS_STATION :
39
configResourceName = configComp.GetOperationsStationMapConfig();
40
break
;
41
42
case
EMapEntityMode
.LOGISTICS_STATION :
43
configResourceName = configComp.GetLogisticsStationMapConfig();
44
break
;
45
46
default
:
47
Print
(
"SCR_CommandPostMapMenuUI EMapEntityMode is not set"
,
LogLevel
.ERROR);
48
break
;
49
}
50
51
MapConfiguration
mapConfigFullscreen =
m_MapEntity
.SetupMapConfig(currentMapEntityMode, configResourceName,
GetRootWidget
());
52
m_MapEntity
.OpenMap(mapConfigFullscreen);
53
}
54
}
55
56
//------------------------------------------------------------------------------------------------
57
override
void
OnMenuOpen
()
58
{
59
OpenMap
();
60
61
Widget
wChatPanel =
GetRootWidget
().FindAnyWidget(
"ChatPanel"
);
62
if
(wChatPanel)
63
m_ChatPanel
=
SCR_ChatPanel
.Cast(wChatPanel.FindHandler(
SCR_ChatPanel
));
64
65
GetGame
().GetInputManager().AddActionListener(
"ChatToggle"
,
EActionTrigger
.DOWN,
Callback_OnChatToggleAction
);
66
67
SCR_EditorManagerEntity
editorManagerEntity =
SCR_EditorManagerEntity
.GetInstance();
68
if
(!editorManagerEntity)
69
return
;
70
71
editorManagerEntity.GetOnOpened().Insert(
OnEditorOpened
);
72
editorManagerEntity.GetOnClosed().Insert(
OnEditorClosed
);
73
74
ChimeraCharacter
character =
ChimeraCharacter
.Cast(
SCR_PlayerController
.
GetLocalControlledEntity
());
75
if
(!character)
76
return
;
77
78
SCR_CharacterControllerComponent
characterController =
SCR_CharacterControllerComponent
.Cast(character.GetCharacterController());
79
if
(!characterController)
80
return
;
81
82
m_CharacterController
= characterController;
83
m_CharacterController
.m_OnLifeStateChanged.Insert(
OnLifeStateChanged
);
84
}
85
86
//------------------------------------------------------------------------------------------------
87
override
void
OnMenuClose
()
88
{
89
super.OnMenuClose();
90
91
SCR_EditorManagerEntity
editorManagerEntity =
SCR_EditorManagerEntity
.GetInstance();
92
if
(!editorManagerEntity)
93
return
;
94
95
editorManagerEntity.GetOnOpened().Remove(
OnEditorOpened
);
96
editorManagerEntity.GetOnClosed().Remove(
OnEditorClosed
);
97
98
if
(
m_CharacterController
)
99
m_CharacterController
.m_OnLifeStateChanged.Remove(
OnLifeStateChanged
);
100
}
101
102
//------------------------------------------------------------------------------------------------
103
protected
void
OnEditorOpened
()
104
{
105
if
(
m_MapEntity
.IsOpen())
106
{
107
// close map, the map will be closed by the editor anyway
108
m_MapEntity
.CloseMap();
109
m_bWasMapClosedByEditor
=
true
;
110
}
111
}
112
113
//------------------------------------------------------------------------------------------------
114
protected
void
OnEditorClosed
()
115
{
116
if
(
m_bWasMapClosedByEditor
)
117
{
118
m_OnClosedByEditor
.Invoke();
119
Close
();
120
}
121
122
m_bWasMapClosedByEditor
=
false
;
123
}
124
125
//------------------------------------------------------------------------------------------------
126
protected
void
OnLifeStateChanged
(
ECharacterLifeState
previousLifeState,
ECharacterLifeState
newLifeState,
bool
isJIP)
127
{
128
if
(newLifeState ==
ECharacterLifeState
.ALIVE)
129
return
;
130
131
m_bWasMapClosedByEditor
=
false
;
132
133
Close
();
134
}
135
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
SCR_EditorManagerEntity
void SCR_EditorManagerEntity(IEntitySource src, IEntity parent)
Definition
SCR_EditorManagerEntity.c:2211
EMapEntityMode
EMapEntityMode
Mode of the map.
Definition
SCR_MapConstants.c:29
GetRootWidget
Widget GetRootWidget()
Definition
SCR_ModularButtonComponent.c:189
ScriptInvokerVoid
ScriptInvokerBase< ScriptInvokerVoidMethod > ScriptInvokerVoid
Definition
SCR_ScriptInvokerHelper.c:9
Close
proto native void Close()
Definition
SCR_WorkshopDialogs.c:77
ChimeraCharacter
Definition
ChimeraCharacter.c:13
MapConfiguration
Definition
MapConfiguration.c:3
ResourceName
Definition
ResourceName.c:13
SCR_CharacterControllerComponent
Definition
SCR_CharacterControllerComponent.c:36
SCR_ChatPanel
Definition
SCR_ChatPanel.c:7
SCR_CommandPostMapMenuUI
Command post map menu.
Definition
SCR_CommandPostMapMenuUI.c:4
SCR_CommandPostMapMenuUI::OnEditorClosed
void OnEditorClosed()
Definition
SCR_CommandPostMapMenuUI.c:114
SCR_CommandPostMapMenuUI::GetOnClosedByEditor
ScriptInvokerVoid GetOnClosedByEditor()
Definition
SCR_CommandPostMapMenuUI.c:11
SCR_CommandPostMapMenuUI::OnEditorOpened
void OnEditorOpened()
Definition
SCR_CommandPostMapMenuUI.c:103
SCR_CommandPostMapMenuUI::m_OnClosedByEditor
ref ScriptInvokerVoid m_OnClosedByEditor
Definition
SCR_CommandPostMapMenuUI.c:5
SCR_CommandPostMapMenuUI::m_CharacterController
SCR_CharacterControllerComponent m_CharacterController
Definition
SCR_CommandPostMapMenuUI.c:8
SCR_CommandPostMapMenuUI::OnLifeStateChanged
void OnLifeStateChanged(ECharacterLifeState previousLifeState, ECharacterLifeState newLifeState, bool isJIP)
Definition
SCR_CommandPostMapMenuUI.c:126
SCR_CommandPostMapMenuUI::OnMenuOpen
override void OnMenuOpen()
Definition
SCR_CommandPostMapMenuUI.c:57
SCR_CommandPostMapMenuUI::OpenMap
void OpenMap()
Definition
SCR_CommandPostMapMenuUI.c:17
SCR_CommandPostMapMenuUI::m_bWasMapClosedByEditor
bool m_bWasMapClosedByEditor
Definition
SCR_CommandPostMapMenuUI.c:7
SCR_CommandPostMapMenuUI::OnMenuClose
override void OnMenuClose()
Definition
SCR_CommandPostMapMenuUI.c:87
SCR_MapMenuUI
Fullscreen map menu.
Definition
SCR_MapMenuUI.c:4
SCR_MapMenuUI::m_MapEntity
SCR_MapEntity m_MapEntity
Definition
SCR_MapMenuUI.c:5
SCR_MapMenuUI::Callback_OnChatToggleAction
void Callback_OnChatToggleAction()
Definition
SCR_MapMenuUI.c:56
SCR_MapMenuUI::m_ChatPanel
SCR_ChatPanel m_ChatPanel
Definition
SCR_MapMenuUI.c:6
SCR_PlayerController
Definition
SCR_PlayerController.c:31
SCR_PlayerController::GetLocalControlledEntity
static IEntity GetLocalControlledEntity()
Definition
SCR_PlayerController.c:495
Widget
Definition
Widget.c:13
ECharacterLifeState
ECharacterLifeState
Definition
ECharacterLifeState.c:13
Print
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
LogLevel
Enum with severity of the logging message.
Definition
LogLevel.c:14
EActionTrigger
EActionTrigger
Definition
EActionTrigger.c:13
scripts
Game
Map
SCR_CommandPostMapMenuUI.c
Generated by
1.17.0