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_BuildingCampaignMilitaryBaseTaskEntity.c
Go to the documentation of this file.
1
class
SCR_BuildingCampaignMilitaryBaseTaskEntityClass
:
SCR_CampaignMilitaryBaseTaskEntityClass
2
{
3
}
4
5
class
SCR_BuildingCampaignMilitaryBaseTaskEntity : SCR_CampaignMilitaryBaseTaskEntity
6
{
7
protected
RplComponent
m_RplComponent
;
8
9
//------------------------------------------------------------------------------------------------
10
protected
void
OnCompositionUnregistered
(SCR_CampaignBuildingCompositionComponent composition)
11
{
12
if
(!
m_MilitaryBase
)
13
return
;
14
15
bool
areAllSpawned =
AreAllCompositionsSpawned
();
16
17
// all buildable composition was obviously destroyed/deleted - we are canceling the task
18
if
(!areAllSpawned)
19
return
;
20
21
m_TaskSystem
.SetTaskState(
this
,
SCR_ETaskState
.CANCELLED);
22
DeleteTask
();
23
}
24
25
//------------------------------------------------------------------------------------------------
26
protected
void
OnAnyCompositionSpawned
()
27
{
28
if
(!
m_MilitaryBase
)
29
return
;
30
31
bool
areAllSpawned =
AreAllCompositionsSpawned
();
32
if
(!areAllSpawned)
33
return
;
34
35
m_TaskSystem
.SetTaskState(
this
,
SCR_ETaskState
.COMPLETED);
36
DeleteTask
();
37
}
38
39
//------------------------------------------------------------------------------------------------
40
override
protected
void
OnTargetBaseCaptured
(SCR_MilitaryBaseComponent
base
,
Faction
faction)
41
{
42
if
(!
m_MilitaryBase
||
base
!=
m_MilitaryBase
)
43
return
;
44
45
m_TaskSystem
.SetTaskState(
this
,
SCR_ETaskState
.CANCELLED);
46
DeleteTask
();
47
}
48
49
//------------------------------------------------------------------------------------------------
50
protected
bool
AreAllCompositionsSpawned
()
51
{
52
SCR_GameModeCampaign
campaign =
SCR_GameModeCampaign
.GetInstance();
53
54
SCR_CampaignBuildingManagerComponent buildingManagerComponent = SCR_CampaignBuildingManagerComponent.Cast(campaign.FindComponent(SCR_CampaignBuildingManagerComponent));
55
if
(!buildingManagerComponent)
56
return
false
;
57
58
array<SCR_CampaignBuildingCompositionComponent> compositions = {};
59
int
compositionCount = buildingManagerComponent.GetBuildingCompositions(
m_MilitaryBase
, compositions);
60
foreach
(SCR_CampaignBuildingCompositionComponent composition : compositions)
61
{
62
if
(!composition.IsCompositionSpawned())
63
return
false
;
64
}
65
66
return
true
;
67
}
68
69
//------------------------------------------------------------------------------------------------
70
override
void
EOnInit
(
IEntity
owner)
71
{
72
super.EOnInit(owner);
73
74
if
(
SCR_Global
.
IsEditMode
(
this
))
75
return
;
76
77
m_RplComponent
= RplComponent.Cast(FindComponent(RplComponent));
78
if
(!
m_RplComponent
||
m_RplComponent
.IsProxy())
79
return
;
80
81
SCR_GameModeCampaign
campaign =
SCR_GameModeCampaign
.GetInstance();
82
83
SCR_CampaignBuildingManagerComponent buildingManagerComponent = SCR_CampaignBuildingManagerComponent.Cast(campaign.FindComponent(SCR_CampaignBuildingManagerComponent));
84
if
(!buildingManagerComponent)
85
return
;
86
87
buildingManagerComponent.GetOnAnyCompositionSpawned().Insert(
OnAnyCompositionSpawned
);
88
buildingManagerComponent.GetOnCompositionUnregistered().Insert(
OnCompositionUnregistered
);
89
}
90
91
//------------------------------------------------------------------------------------------------
92
void
~SCR_BuildingCampaignMilitaryBaseTaskEntity
()
93
{
94
if
(
SCR_Global
.
IsEditMode
(
this
) || !
GetGame
().
GetGameMode
())
95
return
;
96
97
SCR_GameModeCampaign
campaign =
SCR_GameModeCampaign
.GetInstance();
98
if
(!campaign)
99
return
;
100
101
SCR_CampaignBuildingManagerComponent buildingManagerComponent = SCR_CampaignBuildingManagerComponent.Cast(campaign.FindComponent(SCR_CampaignBuildingManagerComponent));
102
if
(buildingManagerComponent)
103
{
104
buildingManagerComponent.GetOnAnyCompositionSpawned().Remove(
OnAnyCompositionSpawned
);
105
buildingManagerComponent.GetOnCompositionUnregistered().Remove(
OnCompositionUnregistered
);
106
}
107
}
108
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
DeleteTask
void DeleteTask()
Definition
SCR_AttackTaskEntity.c:298
GetGameMode
SCR_BaseGameMode GetGameMode()
Definition
SCR_BaseGameModeComponent.c:15
OnCompositionUnregistered
void OnCompositionUnregistered(SCR_CampaignBuildingCompositionComponent composition)
Definition
SCR_BuildingCampaignMilitaryBaseTaskEntity.c:10
OnTargetBaseCaptured
void OnTargetBaseCaptured(SCR_MilitaryBaseComponent base, Faction faction)
Definition
SCR_BuildingCampaignMilitaryBaseTaskEntity.c:40
~SCR_BuildingCampaignMilitaryBaseTaskEntity
void ~SCR_BuildingCampaignMilitaryBaseTaskEntity()
Definition
SCR_BuildingCampaignMilitaryBaseTaskEntity.c:92
OnAnyCompositionSpawned
void OnAnyCompositionSpawned()
Definition
SCR_BuildingCampaignMilitaryBaseTaskEntity.c:26
AreAllCompositionsSpawned
bool AreAllCompositionsSpawned()
Definition
SCR_BuildingCampaignMilitaryBaseTaskEntity.c:50
m_RplComponent
RplComponent m_RplComponent
Definition
SCR_CampaignBuildingManagerComponent.c:64
m_MilitaryBase
SCR_CampaignMilitaryBaseComponent m_MilitaryBase
Definition
SCR_CampaignMilitaryBaseTaskEntity.c:12
SCR_GameModeCampaign
void SCR_GameModeCampaign(IEntitySource src, IEntity parent)
Definition
SCR_GameModeCampaign.c:1812
base
around base
Definition
SCR_HoldCampaignMilitaryBaseTaskEntity.c:9
SCR_ETaskState
SCR_ETaskState
Definition
SCR_Task.c:3
m_TaskSystem
SCR_TaskSystem m_TaskSystem
Definition
SCR_TaskNotificationComponent.c:11
Faction
Definition
Faction.c:13
IEntity
Definition
IEntity.c:13
SCR_BuildingCampaignMilitaryBaseTaskEntityClass
Definition
SCR_BuildingCampaignMilitaryBaseTaskEntity.c:2
SCR_CampaignMilitaryBaseTaskEntityClass
Definition
SCR_CampaignMilitaryBaseTaskEntity.c:6
SCR_Global
Definition
Functions.c:7
SCR_Global::IsEditMode
static bool IsEditMode()
Definition
Functions.c:1566
EOnInit
override void EOnInit(IEntity owner)
Definition
SCR_AIConfigComponent.c:87
scripts
Game
Tasks
Campaign
SCR_BuildingCampaignMilitaryBaseTaskEntity.c
Generated by
1.17.0