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_BuildingTaskCreator.c
Go to the documentation of this file.
1
[
BaseContainerProps
()]
2
class
SCR_BuildingTaskCreator
:
SCR_TaskCreator
3
{
4
[
Attribute
(
"10 0 -10"
,
desc
:
"Task offset"
)]
5
protected
vector
m_vPositionOffset
;
6
7
SCR_CampaignBuildingManagerComponent
m_BuildingManager
;
8
9
protected
static
const
string
CAMPAIGN_BUILDING_TASK_ID
=
"%1_BuildingCampaignMilitaryBaseTask_%2"
;
10
11
//------------------------------------------------------------------------------------------------
12
protected
void
OnEntitySpawnedByProvider
(
int
prefabID,
SCR_EditableEntityComponent
editableEntity,
int
playerId, SCR_CampaignBuildingProviderComponent provider)
13
{
14
SCR_CampaignBuildingCompositionComponent buildingCompositionComponent = SCR_CampaignBuildingCompositionComponent.Cast(editableEntity.GetOwner().FindComponent(SCR_CampaignBuildingCompositionComponent));
15
if
(!buildingCompositionComponent)
16
return
;
17
18
IEntity
player =
GetGame
().GetPlayerManager().GetPlayerControlledEntity(playerId);
19
if
(!player)
20
return
;
21
22
SCR_Faction
faction =
SCR_Faction
.Cast(
SCR_Faction
.
GetEntityFaction
(player));
23
if
(!faction)
24
return
;
25
26
SCR_GroupTaskManagerComponent
groupTaskManager =
SCR_GroupTaskManagerComponent
.GetInstance();
27
if
(!groupTaskManager || !groupTaskManager.CanCreateNewTaskWithResourceName(
m_sTaskPrefab
, faction))
28
return
;
29
30
SCR_TaskSystem
taskSystem =
SCR_TaskSystem
.GetInstance();
31
if
(!taskSystem)
32
return
;
33
34
SCR_CampaignMilitaryBaseComponent
base
= provider.GetCampaignMilitaryBaseComponent();
35
if
(!
base
)
36
return
;
37
38
string
taskID =
string
.Format(
CAMPAIGN_BUILDING_TASK_ID
, faction.GetFactionKey(),
base
.GetCallsign());
39
40
if
(
SCR_TaskSystem
.GetTaskFromTaskID(taskID,
false
))
41
return
;
42
43
SCR_BuildingCampaignMilitaryBaseTaskEntity
task
= SCR_BuildingCampaignMilitaryBaseTaskEntity.Cast(taskSystem.CreateTask(
44
m_sTaskPrefab
,
45
taskID,
46
""
,
47
""
,
48
base
.GetOwner().GetOrigin() +
m_vPositionOffset
49
));
50
51
if
(!
task
)
52
{
53
Print
(
"Task was not created"
,
LogLevel
.ERROR);
54
return
;
55
}
56
57
task
.SetMilitaryBaseCallSign(
base
.GetCallsign());
58
taskSystem.SetTaskOwnership(
task
, SCR_ETaskOwnership.EXECUTOR);
59
taskSystem.SetTaskVisibility(
task
,
SCR_ETaskVisibility
.GROUP);
60
taskSystem.AddTaskFaction(
task
, faction.GetFactionKey());
61
62
groupTaskManager.SetGroupTask(
task
, 0);
63
64
SCR_TaskUIInfo
taskUIInfo =
task
.GetTaskUIInfo();
65
if
(!taskUIInfo)
66
return
;
67
68
task
.SetTaskName(taskUIInfo.GetName(), {base.GetFormattedBaseNameWithCallsign(faction)});
69
}
70
71
//------------------------------------------------------------------------------------------------
72
override
void
Init
(SCR_TaskCreatorComponent taskCreatorComponent)
73
{
74
super.Init(taskCreatorComponent);
75
76
BaseGameMode gameMode = taskCreatorComponent.GetGameMode();
77
if
(!gameMode)
78
return
;
79
80
m_BuildingManager
= SCR_CampaignBuildingManagerComponent.Cast(gameMode.FindComponent(SCR_CampaignBuildingManagerComponent));
81
if
(!
m_BuildingManager
)
82
return
;
83
84
m_BuildingManager
.GetOnEntitySpawnedByProvider().Insert(
OnEntitySpawnedByProvider
);
85
}
86
87
//------------------------------------------------------------------------------------------------
88
override
void
Deinit
()
89
{
90
if
(!
m_BuildingManager
)
91
return
;
92
93
m_BuildingManager
.GetOnEntitySpawnedByProvider().Remove(
OnEntitySpawnedByProvider
);
94
}
95
}
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
BaseContainerProps
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
Definition
SCR_AIAnimationWaypoint.c:14
SCR_GroupTaskManagerComponent
void SCR_GroupTaskManagerComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
Definition
SCR_GroupTaskManagerComponent.c:794
base
around base
Definition
SCR_HoldCampaignMilitaryBaseTaskEntity.c:9
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
SCR_ETaskVisibility
SCR_ETaskVisibility
Definition
SCR_Task.c:24
task
from task
Definition
SCR_TaskNotificationConfigs.c:12
IEntity
Definition
IEntity.c:13
SCR_BuildingTaskCreator
Definition
SCR_BuildingTaskCreator.c:3
SCR_BuildingTaskCreator::m_vPositionOffset
vector m_vPositionOffset
Definition
SCR_BuildingTaskCreator.c:5
SCR_BuildingTaskCreator::m_BuildingManager
SCR_CampaignBuildingManagerComponent m_BuildingManager
Definition
SCR_BuildingTaskCreator.c:7
SCR_BuildingTaskCreator::Init
override void Init(SCR_TaskCreatorComponent taskCreatorComponent)
Definition
SCR_BuildingTaskCreator.c:72
SCR_BuildingTaskCreator::Deinit
override void Deinit()
Definition
SCR_BuildingTaskCreator.c:88
SCR_BuildingTaskCreator::OnEntitySpawnedByProvider
void OnEntitySpawnedByProvider(int prefabID, SCR_EditableEntityComponent editableEntity, int playerId, SCR_CampaignBuildingProviderComponent provider)
Definition
SCR_BuildingTaskCreator.c:12
SCR_BuildingTaskCreator::CAMPAIGN_BUILDING_TASK_ID
static const string CAMPAIGN_BUILDING_TASK_ID
Definition
SCR_BuildingTaskCreator.c:9
SCR_CampaignMilitaryBaseComponent
Definition
SCR_CampaignMilitaryBaseComponent.c:38
SCR_EditableEntityComponent
Definition
SCR_EditableEntityComponent.c:14
SCR_Faction
Definition
SCR_Faction.c:6
SCR_Faction::GetEntityFaction
static Faction GetEntityFaction(notnull IEntity entity)
Definition
SCR_Faction.c:810
SCR_TaskCreator
Definition
SCR_TaskCreator.c:3
SCR_TaskCreator::m_sTaskPrefab
ResourceName m_sTaskPrefab
Definition
SCR_TaskCreator.c:5
SCR_TaskSystem
Definition
SCR_TaskSystem.c:6
SCR_TaskUIInfo
Definition
SCR_TaskUIInfo.c:3
vector
Definition
vector.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
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
scripts
Game
Tasks
Campaign
Creators
SCR_BuildingTaskCreator.c
Generated by
1.17.0