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_EstablishBaseRequestedTaskEntity.c
Go to the documentation of this file.
1
class
SCR_EstablishBaseRequestedTaskEntityClass
:
SCR_BaseRequestedTaskEntityClass
2
{
3
}
4
5
class
SCR_EstablishBaseRequestedTaskEntity : SCR_BaseRequestedTaskEntity
6
{
7
protected
SCR_GroupTaskManagerComponent
m_GroupTaskManager
;
8
9
//------------------------------------------------------------------------------------------------
10
protected
void
OnGroupTaskSet
(
SCR_Task
task
,
int
byPlayerID)
11
{
12
VerifyTaskExistence
(
task
);
13
}
14
15
//------------------------------------------------------------------------------------------------
16
protected
void
VerifyTaskExistence
(
SCR_Task
task
)
17
{
18
SCR_CampaignFactionCommanderHandlerComponent handlerComponent = SCR_CampaignFactionCommanderHandlerComponent.Cast(SCR_FactionCommanderHandlerComponent.GetInstance());
19
if
(!handlerComponent)
20
return
;
21
22
int
threshold = handlerComponent.GetBaseMinDistance(
SCR_ECampaignBaseType
.BASE);
23
24
SCR_EstablishBaseTaskEntity establishTask = SCR_EstablishBaseTaskEntity.Cast(
task
);
25
if
(!establishTask)
26
return
;
27
28
bool
isAnyFactionMatch =
false
;
29
foreach
(
string
factionKey :
m_TaskData
.m_aOwnerFactionKeys)
30
{
31
if
(factionKey.IsEmpty())
32
continue
;
33
34
if
(establishTask.GetTaskData().m_aOwnerFactionKeys.Contains(factionKey))
35
{
36
isAnyFactionMatch =
true
;
37
break
;
38
}
39
}
40
41
if
(!isAnyFactionMatch)
42
return
;
43
44
if
(
vector
.DistanceSqXZ(establishTask.GetOrigin(),
GetOrigin
()) > threshold * threshold)
45
return
;
46
47
// clear establish requests in range
48
SetTaskState
(
SCR_ETaskState
.COMPLETED);
49
DeleteTask
();
50
}
51
52
//------------------------------------------------------------------------------------------------
53
override
void
EOnInit
(
IEntity
owner)
54
{
55
super.EOnInit(owner);
56
57
RplComponent rpl = RplComponent.Cast(owner.
FindComponent
(RplComponent));
58
if
(!rpl || rpl.IsProxy())
59
return
;
60
61
m_GroupTaskManager
=
SCR_GroupTaskManagerComponent
.GetInstance();
62
63
if
(
m_GroupTaskManager
)
64
m_GroupTaskManager
.GetOnGroupTaskSet().Insert(
OnGroupTaskSet
);
65
}
66
67
//------------------------------------------------------------------------------------------------
68
void
~SCR_EstablishBaseRequestedTaskEntity
()
69
{
70
if
(!
m_TaskSystem
)
71
return
;
72
73
if
(
m_GroupTaskManager
)
74
m_GroupTaskManager
.GetOnGroupTaskSet().Remove(
OnGroupTaskSet
);
75
}
76
}
GetOrigin
vector GetOrigin()
Definition
SCR_AIUtilityComponent.c:471
DeleteTask
void DeleteTask()
Definition
SCR_AttackTaskEntity.c:298
SetTaskState
override void SetTaskState(SCR_ETaskState state)
Definition
SCR_AttackTaskEntity.c:290
SCR_ECampaignBaseType
SCR_ECampaignBaseType
Definition
SCR_CampaignMilitaryBaseComponent.c:2966
VerifyTaskExistence
void VerifyTaskExistence(SCR_Task task)
Definition
SCR_EstablishBaseRequestedTaskEntity.c:16
OnGroupTaskSet
void OnGroupTaskSet(SCR_Task task, int byPlayerID)
Definition
SCR_EstablishBaseRequestedTaskEntity.c:10
~SCR_EstablishBaseRequestedTaskEntity
void ~SCR_EstablishBaseRequestedTaskEntity()
Definition
SCR_EstablishBaseRequestedTaskEntity.c:68
m_GroupTaskManager
SCR_GroupTaskManagerComponent m_GroupTaskManager
Definition
SCR_FactionCommanderPlayerComponent.c:81
SCR_GroupTaskManagerComponent
void SCR_GroupTaskManagerComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
Definition
SCR_GroupTaskManagerComponent.c:794
SCR_Task
void SCR_Task(IEntitySource src, IEntity parent)
Definition
SCR_Task.c:1938
m_TaskData
ref SCR_TaskData m_TaskData
Definition
SCR_Task.c:110
SCR_ETaskState
SCR_ETaskState
Definition
SCR_Task.c:3
m_TaskSystem
SCR_TaskSystem m_TaskSystem
Definition
SCR_TaskNotificationComponent.c:11
task
from task
Definition
SCR_TaskNotificationConfigs.c:12
IEntity
Definition
IEntity.c:13
IEntity::FindComponent
proto external Managed FindComponent(typename typeName)
SCR_BaseRequestedTaskEntityClass
Definition
SCR_BaseRequestedTaskEntity.c:6
SCR_EstablishBaseRequestedTaskEntityClass
Definition
SCR_EstablishBaseRequestedTaskEntity.c:2
vector
Definition
vector.c:13
EOnInit
override void EOnInit(IEntity owner)
Definition
SCR_AIConfigComponent.c:87
scripts
Game
Tasks
Campaign
SCR_EstablishBaseRequestedTaskEntity.c
Generated by
1.17.0