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_MilitaryBaseLogicComponent.c
Go to the documentation of this file.
1
class
SCR_MilitaryBaseLogicComponentClass
:
ScriptComponentClass
2
{
3
}
4
5
class
SCR_MilitaryBaseLogicComponent :
ScriptComponent
6
{
7
protected
ref array<SCR_MilitaryBaseComponent>
m_aBases
= {};
8
9
//------------------------------------------------------------------------------------------------
12
void
RegisterBase
(notnull SCR_MilitaryBaseComponent
base
)
13
{
14
if
(
m_aBases
.Contains(
base
))
15
return
;
16
17
m_aBases
.Insert(
base
);
18
OnBaseRegistered
(
base
);
19
}
20
21
//------------------------------------------------------------------------------------------------
23
void
OnBaseRegistered
(notnull SCR_MilitaryBaseComponent
base
)
24
{
25
if
(
base
.GetOwner() ==
GetOwner
())
26
return
;
27
28
if
(
SCR_GameModeCampaign
.Cast(
GetGame
().
GetGameMode
()))
29
{
30
if
(
SCR_CampaignMilitaryBaseComponent
.Cast(
base
))
31
OnBaseFactionChanged
(
base
.GetFaction());
32
}
33
else
if
(
m_aBases
.Count() == 1)
34
{
35
OnBaseFactionChanged
(
base
.GetFaction());
36
}
37
}
38
39
//------------------------------------------------------------------------------------------------
42
void
UnregisterBase
(notnull SCR_MilitaryBaseComponent
base
)
43
{
44
if
(!
m_aBases
.Contains(
base
))
45
return
;
46
47
m_aBases
.RemoveItem(
base
);
48
OnBaseUnregistered
(
base
);
49
}
50
51
//------------------------------------------------------------------------------------------------
53
void
OnBaseUnregistered
(notnull SCR_MilitaryBaseComponent
base
);
54
55
//------------------------------------------------------------------------------------------------
58
int
GetBases
(out array<SCR_MilitaryBaseComponent> bases)
59
{
60
if
(bases)
61
return
bases.Copy(
m_aBases
);
62
else
63
return
m_aBases
.Count();
64
}
65
66
//------------------------------------------------------------------------------------------------
67
bool
IsControlledByFaction
(notnull
Faction
faction)
68
{
69
foreach
(SCR_MilitaryBaseComponent
base
:
m_aBases
)
70
{
71
if
(
base
.GetFaction() == faction)
72
return
true
;
73
}
74
75
return
false
;
76
}
77
78
//------------------------------------------------------------------------------------------------
80
void
OnBaseFactionChanged
(
Faction
faction)
81
{
82
FactionAffiliationComponent factionControl = FactionAffiliationComponent.Cast(
GetOwner
().FindComponent(FactionAffiliationComponent));
83
84
if
(!factionControl || factionControl.GetAffiliatedFaction() == faction)
85
return
;
86
87
factionControl.SetAffiliatedFaction(faction);
88
}
89
90
//------------------------------------------------------------------------------------------------
91
void
OnCapturingFactionChanged
(
FactionKey
faction);
92
93
//------------------------------------------------------------------------------------------------
94
override
void
EOnInit
(
IEntity
owner)
95
{
96
super.EOnInit(owner);
97
98
// Check for play mode again in case init event was set from outside of this class
99
if
(!
GetGame
().InPlayMode())
100
return
;
101
102
SCR_MilitaryBaseSystem
baseManager =
SCR_MilitaryBaseSystem
.
GetInstance
();
103
104
if
(baseManager)
105
baseManager.
RegisterLogicComponent
(
this
);
106
}
107
108
//------------------------------------------------------------------------------------------------
109
override
void
OnPostInit
(
IEntity
owner)
110
{
111
super.OnPostInit(owner);
112
113
if
(!
GetGame
().InPlayMode())
114
return
;
115
116
SetEventMask(owner,
EntityEvent
.INIT);
117
}
118
119
override
void
OnDelete
(
IEntity
owner)
120
{
121
SCR_MilitaryBaseSystem
baseManager =
SCR_MilitaryBaseSystem
.
GetInstance
();
122
123
if
(baseManager)
124
baseManager.
UnregisterLogicComponent
(
this
);
125
126
foreach
(SCR_MilitaryBaseComponent
base
:
m_aBases
)
127
{
128
if
(
base
)
129
base
.UnregisterLogicComponent(
this
);
130
}
131
}
132
}
FactionKey
string FactionKey
Faction unique identifier type.
Definition
FactionKey.c:2
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
GetGameMode
SCR_BaseGameMode GetGameMode()
Definition
SCR_BaseGameModeComponent.c:15
RegisterBase
override void RegisterBase(notnull SCR_MilitaryBaseComponent base)
Definition
SCR_CampaignBuildingProviderComponent.c:443
OnBaseFactionChanged
void OnBaseFactionChanged(notnull SCR_MilitaryBaseComponent base, Faction faction)
Definition
SCR_CampaignFeedbackComponent.c:1029
OnCapturingFactionChanged
override void OnCapturingFactionChanged()
Event which is triggered when the capturing faction changes.
Definition
SCR_CampaignMilitaryBaseComponent.c:1391
OnBaseRegistered
override void OnBaseRegistered(notnull SCR_MilitaryBaseComponent base)
Definition
SCR_CampaignRadioRegisteringComponent.c:42
IsControlledByFaction
SCR_FactionCommanderBaseLogicComponentClass SCR_MilitaryBaseLogicComponentClass IsControlledByFaction(notnull Faction faction)
Definition
SCR_FactionCommanderBaseLogicComponent.c:9
SCR_GameModeCampaign
void SCR_GameModeCampaign(IEntitySource src, IEntity parent)
Definition
SCR_GameModeCampaign.c:1812
base
around base
Definition
SCR_HoldCampaignMilitaryBaseTaskEntity.c:9
m_aBases
SCR_MilitaryBaseLogicComponentClass m_aBases
OnBaseUnregistered
void OnBaseUnregistered(notnull SCR_MilitaryBaseComponent base)
Definition
SCR_ServicePointComponent.c:135
UnregisterBase
void UnregisterBase(notnull SCR_MilitaryBaseComponent base)
Definition
SCR_MilitaryBaseLogicComponent.c:42
GetBases
int GetBases(out array< SCR_MilitaryBaseComponent > bases)
Definition
SCR_MilitaryBaseLogicComponent.c:58
Faction
Definition
Faction.c:13
IEntity
Definition
IEntity.c:13
SCR_CampaignMilitaryBaseComponent
Definition
SCR_CampaignMilitaryBaseComponent.c:38
SCR_MilitaryBaseLogicComponentClass
Definition
SCR_MilitaryBaseLogicComponent.c:2
SCR_MilitaryBaseSystem
Definition
SCR_MilitaryBaseSystem.c:18
SCR_MilitaryBaseSystem::GetInstance
static SCR_MilitaryBaseSystem GetInstance()
Definition
SCR_MilitaryBaseSystem.c:37
SCR_MilitaryBaseSystem::RegisterLogicComponent
void RegisterLogicComponent(notnull SCR_MilitaryBaseLogicComponent component)
Definition
SCR_MilitaryBaseSystem.c:342
SCR_MilitaryBaseSystem::UnregisterLogicComponent
void UnregisterLogicComponent(notnull SCR_MilitaryBaseLogicComponent component)
Definition
SCR_MilitaryBaseSystem.c:365
ScriptComponentClass
Definition
ScriptComponentClass.c:8
ScriptComponent
Definition
ScriptComponent.c:24
GetOwner
IEntity GetOwner()
Owner entity of the fuel tank.
Definition
SCR_FuelNode.c:128
EOnInit
override void EOnInit(IEntity owner)
Definition
SCR_AIConfigComponent.c:87
EntityEvent
EntityEvent
Various entity events.
Definition
EntityEvent.c:14
OnPostInit
@ OnPostInit
Definition
SndComponentCallbacks.c:15
OnDelete
@ OnDelete
Definition
SndComponentCallbacks.c:16
scripts
Game
GameMode
Components
SCR_MilitaryBaseLogicComponent.c
Generated by
1.17.0