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_MapCampaignBuildingUI.c
Go to the documentation of this file.
1
class
SCR_MapCampaignBuildingUI
:
SCR_MapUIBaseComponent
2
{
3
protected
SCR_MapCampaignUI
m_MapCampaignUI
4
protected
SCR_CampaignBuildingProviderComponent
m_TemporaryProviderComponent
;
5
protected
SCR_CampaignMilitaryBaseComponent
m_Base
;
6
7
//------------------------------------------------------------------------------------------------
8
override
void
Init
()
9
{
10
super.Init();
11
12
m_MapCampaignUI =
SCR_MapCampaignUI
.Cast(
m_MapEntity
.GetMapUIComponent(
SCR_MapCampaignUI
));
13
if
(!m_MapCampaignUI)
14
return
;
15
16
m_MapCampaignUI.
GetOnBasesInited
().Insert(
OnBasesInited
);
17
}
18
19
//------------------------------------------------------------------------------------------------
20
protected
void
OnBasesInited
()
21
{
22
// register to base OnClick Event
23
array<SCR_CampaignMapUIBase> bases = {};
24
int
count = m_MapCampaignUI.GetBases(bases);
25
for
(
int
i = 0; i < count; i++)
26
{
27
bases[i].m_OnClick.Insert(
OnBaseClicked
);
28
}
29
}
30
31
//------------------------------------------------------------------------------------------------
32
protected
void
OnBaseClicked
(
SCR_CampaignMapUIBase
baseUI)
33
{
34
array<SCR_CampaignBuildingProviderComponent> campaignBuildingProvides = {};
35
m_Base
= baseUI.
GetBase
();
36
37
if
(!
m_Base
)
38
return
;
39
40
int
providerCount =
m_Base
.GetBuildingProviders(campaignBuildingProvides);
41
m_TemporaryProviderComponent
= null;
42
if
(providerCount > 0)
43
{
44
for
(
int
i = 0; i < providerCount; i++)
45
{
46
if
(campaignBuildingProvides[i].IsMasterProvider())
47
{
48
m_TemporaryProviderComponent
= campaignBuildingProvides[i];
49
break
;
50
}
51
}
52
}
53
54
if
(!
m_TemporaryProviderComponent
)
55
return
;
56
57
IEntity
playerEntity =
SCR_PlayerController
.
GetLocalControlledEntity
();
58
if
(!playerEntity)
59
return
;
60
61
// check player faction
62
if
(!
m_TemporaryProviderComponent
.IsEntityFactionSame(playerEntity,
m_TemporaryProviderComponent
.GetOwner()))
63
return
;
64
65
m_TemporaryProviderComponent
.SetUseAllAvailableProvidersByPlayer(
true
);
66
67
SCR_CampaignBuildingBudgetToEvaluateData
aiBudgetData =
m_TemporaryProviderComponent
.GetBudgetData(
EEditableEntityBudget
.AI);
68
aiBudgetData.
SetShowBudgetInUI
(
true
);
69
70
SCR_EditorManagerEntity
editorManager =
GetEditorManager
();
71
if
(!editorManager)
72
return
;
73
74
editorManager.GetOnModeAdd().Insert(
OnModeAdded
);
75
editorManager.GetOnClosed().Insert(
OnModeClosed
);
76
77
int
playerID =
SCR_PlayerController
.
GetLocalPlayerId
();
78
m_TemporaryProviderComponent
.RequestEnterBuildingMode(playerID,
true
,
true
);
79
}
80
81
//------------------------------------------------------------------------------------------------
82
protected
void
OnCameraCreate
(
SCR_ManualCamera
manualCamera)
83
{
84
SCR_CampaignBuildingCameraEditorComponent
editorCameraManager =
GetCampaignBuildingCameraEditorComponent
();
85
if
(!editorCameraManager)
86
return
;
87
88
editorCameraManager.GetOnCameraCreate().Remove(
OnCameraCreate
);
89
90
// set the camera to the base position
91
if
(
m_Base
)
92
editorCameraManager.SetPreActivateCameraPosition(
m_Base
.GetOwner().GetOrigin());
93
}
94
95
//------------------------------------------------------------------------------------------------
96
protected
void
OnModeAdded
(
SCR_EditorModeEntity
modeEntity)
97
{
98
SCR_EditorManagerEntity
editorManager =
GetEditorManager
();
99
if
(!editorManager)
100
return
;
101
102
editorManager.GetOnModeAdd().Remove(
OnModeAdded
);
103
104
SCR_CampaignBuildingCameraEditorComponent
editorCameraManager =
GetCampaignBuildingCameraEditorComponent
();
105
if
(!editorCameraManager)
106
return
;
107
108
editorCameraManager.GetOnCameraCreate().Insert(
OnCameraCreate
);
109
}
110
111
//------------------------------------------------------------------------------------------------
112
protected
void
OnModeClosed
()
113
{
114
SCR_EditorManagerEntity
editorManager =
GetEditorManager
();
115
if
(!editorManager)
116
return
;
117
118
editorManager.GetOnClosed().Remove(
OnModeClosed
);
119
120
if
(!
m_TemporaryProviderComponent
)
121
return
;
122
123
m_TemporaryProviderComponent
.SetUseAllAvailableProvidersByPlayer(
false
);
124
125
SCR_CampaignBuildingBudgetToEvaluateData
aiBudgetData =
m_TemporaryProviderComponent
.GetBudgetData(
EEditableEntityBudget
.AI);
126
aiBudgetData.
SetShowBudgetInUI
(
false
);
127
}
128
129
//------------------------------------------------------------------------------------------------
130
protected
SCR_CampaignBuildingCameraEditorComponent
GetCampaignBuildingCameraEditorComponent
()
131
{
132
SCR_EditorManagerEntity
editorManager =
GetEditorManager
();
133
if
(!editorManager)
134
return
null;
135
136
SCR_EditorModeEntity
modeEntity = editorManager.FindModeEntity(
EEditorMode
.BUILDING);
137
if
(!modeEntity)
138
return
null;
139
140
return
SCR_CampaignBuildingCameraEditorComponent
.Cast(modeEntity.FindComponent(
SCR_CampaignBuildingCameraEditorComponent
));
141
}
142
143
//------------------------------------------------------------------------------------------------
145
protected
SCR_EditorManagerEntity
GetEditorManager
()
146
{
147
SCR_EditorManagerCore
core =
SCR_EditorManagerCore
.Cast(
SCR_EditorManagerCore
.GetInstance(
SCR_EditorManagerCore
));
148
if
(!core)
149
return
null;
150
151
return
core.
GetEditorManager
();
152
}
153
}
EEditableEntityBudget
EEditableEntityBudget
Definition
EEditableEntityBudget.c:2
SCR_EditorManagerEntity
void SCR_EditorManagerEntity(IEntitySource src, IEntity parent)
Definition
SCR_EditorManagerEntity.c:2211
IEntity
Definition
IEntity.c:13
SCR_CampaignBuildingBudgetToEvaluateData
Definition
SCR_CampaignBuildingBudgetToEvaluateData.c:4
SCR_CampaignBuildingBudgetToEvaluateData::SetShowBudgetInUI
void SetShowBudgetInUI(bool value)
Definition
SCR_CampaignBuildingBudgetToEvaluateData.c:43
SCR_CampaignBuildingCameraEditorComponent
Definition
SCR_CampaignBuildingCameraEditorComponent.c:9
SCR_CampaignMapUIBase
Definition
SCR_CampaignMapUIBase.c:3
SCR_CampaignMapUIBase::GetBase
SCR_CampaignMilitaryBaseComponent GetBase()
Definition
SCR_CampaignMapUIBase.c:1285
SCR_CampaignMilitaryBaseComponent
Definition
SCR_CampaignMilitaryBaseComponent.c:38
SCR_EditorManagerCore
Core component to manage SCR_EditorManagerEntity.
Definition
SCR_EditorManagerCore.c:6
SCR_EditorManagerCore::GetEditorManager
SCR_EditorManagerEntity GetEditorManager()
Definition
SCR_EditorManagerCore.c:229
SCR_EditorModeEntity
Definition
SCR_EditorModeEntity.c:23
SCR_ManualCamera
Definition
SCR_ManualCamera.c:17
SCR_MapCampaignBuildingUI
Definition
SCR_MapCampaignBuildingUI.c:2
SCR_MapCampaignBuildingUI::OnCameraCreate
void OnCameraCreate(SCR_ManualCamera manualCamera)
Definition
SCR_MapCampaignBuildingUI.c:82
SCR_MapCampaignBuildingUI::m_Base
SCR_CampaignMilitaryBaseComponent m_Base
Definition
SCR_MapCampaignBuildingUI.c:5
SCR_MapCampaignBuildingUI::OnBasesInited
void OnBasesInited()
Definition
SCR_MapCampaignBuildingUI.c:20
SCR_MapCampaignBuildingUI::GetCampaignBuildingCameraEditorComponent
SCR_CampaignBuildingCameraEditorComponent GetCampaignBuildingCameraEditorComponent()
Definition
SCR_MapCampaignBuildingUI.c:130
SCR_MapCampaignBuildingUI::GetEditorManager
SCR_EditorManagerEntity GetEditorManager()
Definition
SCR_MapCampaignBuildingUI.c:145
SCR_MapCampaignBuildingUI::OnModeClosed
void OnModeClosed()
Definition
SCR_MapCampaignBuildingUI.c:112
SCR_MapCampaignBuildingUI::OnModeAdded
void OnModeAdded(SCR_EditorModeEntity modeEntity)
Definition
SCR_MapCampaignBuildingUI.c:96
SCR_MapCampaignBuildingUI::Init
override void Init()
Definition
SCR_MapCampaignBuildingUI.c:8
SCR_MapCampaignBuildingUI::OnBaseClicked
void OnBaseClicked(SCR_CampaignMapUIBase baseUI)
Definition
SCR_MapCampaignBuildingUI.c:32
SCR_MapCampaignBuildingUI::m_TemporaryProviderComponent
SCR_CampaignBuildingProviderComponent m_TemporaryProviderComponent
Definition
SCR_MapCampaignBuildingUI.c:4
SCR_MapCampaignUI
Definition
SCR_MapCampaignUI.c:7
SCR_MapCampaignUI::GetOnBasesInited
ScriptInvokerVoid GetOnBasesInited()
Definition
SCR_MapCampaignUI.c:343
SCR_MapUIBaseComponent::SCR_MapUIBaseComponent
void SCR_MapUIBaseComponent()
Definition
SCR_MapUIBaseComponent.c:94
SCR_MapUIBaseComponent::m_MapEntity
SCR_MapEntity m_MapEntity
Definition
SCR_MapUIBaseComponent.c:13
SCR_PlayerController
Definition
SCR_PlayerController.c:31
SCR_PlayerController::GetLocalPlayerId
static int GetLocalPlayerId()
Returns either a valid ID of local player or 0.
Definition
SCR_PlayerController.c:481
SCR_PlayerController::GetLocalControlledEntity
static IEntity GetLocalControlledEntity()
Definition
SCR_PlayerController.c:495
EEditorMode
EEditorMode
Editor mode that defines overall functionality.
Definition
EEditorMode.c:6
scripts
Game
UI
Conflict
SCR_MapCampaignBuildingUI.c
Generated by
1.17.0