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_AICombatTargetGetterTask.c
Go to the documentation of this file.
1
2
class
SCR_AICombatTargetGetterTask
:
AITaskScripted
3
{
4
protected
SCR_AICombatComponent
m_CombatComponent
;
5
6
protected
static
const
string
ENEMY_ENTITY_PORT
=
"EntityOut"
;
7
protected
static
const
string
ENEMY_LAST_SEEN_POS_PORT
=
"EntityLastSeenPos"
;
8
protected
static
const
string
ENEMY_LAST_SEEN_TIME_PORT
=
"EntityLastSeenTime"
;
9
protected
static
const
string
ENEMY_TARGET_INFO_PORT
=
"TargetInfoOut"
;
10
11
ref SCR_AITargetInfo
m_TargetInfo
;
12
13
//-------------------------------------------------------------------------------------------
14
protected
override
void
OnInit
(AIAgent owner)
15
{
16
m_CombatComponent
= SCR_AICombatComponent.Cast(owner.GetControlledEntity().FindComponent(SCR_AICombatComponent));
17
}
18
19
//-------------------------------------------------------------------------------------------
21
protected
BaseTarget
GetEnemy
(SCR_AICombatComponent combatComp);
22
23
24
//-------------------------------------------------------------------------------------------
25
protected
override
ENodeResult
EOnTaskSimulate
(AIAgent owner,
float
dt)
26
{
27
if
(!
m_CombatComponent
)
28
return
ENodeResult
.FAIL;
29
30
BaseTarget
targetEnemy =
GetEnemy
(
m_CombatComponent
);
31
32
if
(!targetEnemy)
33
return
Fail
();
34
35
IEntity
entEnemy = targetEnemy.GetTargetEntity();
36
37
if
(!entEnemy)
38
return
Fail
();
39
40
m_TargetInfo
=
new
SCR_AITargetInfo();
41
m_TargetInfo
.Init(entEnemy, worldPos: targetEnemy.GetLastSeenPosition(), timestamp: targetEnemy.GetTimeLastSeen());
42
43
SetVariableOut
(
ENEMY_ENTITY_PORT
, entEnemy);
44
SetVariableOut
(
ENEMY_LAST_SEEN_POS_PORT
,
m_TargetInfo
.m_vWorldPos);
45
SetVariableOut
(
ENEMY_LAST_SEEN_TIME_PORT
,
m_TargetInfo
.m_fTimestamp);
46
SetVariableOut
(
ENEMY_TARGET_INFO_PORT
,
m_TargetInfo
);
47
return
ENodeResult
.SUCCESS;
48
}
49
50
//-------------------------------------------------------------------------------------------
51
protected
ENodeResult
Fail
()
52
{
53
IEntity
_enemy;
54
SetVariableOut
(
ENEMY_ENTITY_PORT
, _enemy);
// must be null to make deco test NotNull work <- unassigned variable does not
55
ClearVariable
(
ENEMY_LAST_SEEN_POS_PORT
);
56
ClearVariable
(
ENEMY_LAST_SEEN_TIME_PORT
);
57
ClearVariable
(
ENEMY_TARGET_INFO_PORT
);
58
return
ENodeResult
.FAIL;
59
}
60
61
//-------------------------------------------------------------------------------------------
62
static
ref
TStringArray
s_aVarsOut
=
63
{
64
ENEMY_ENTITY_PORT
,
65
ENEMY_LAST_SEEN_POS_PORT
,
66
ENEMY_LAST_SEEN_TIME_PORT
,
67
ENEMY_TARGET_INFO_PORT
68
};
69
protected
override
TStringArray
GetVariablesOut
()
70
{
71
return
s_aVarsOut
;
72
}
73
74
//-------------------------------------------------------------------------------------------
75
static
override
bool
VisibleInPalette
() {
return
false
;}
76
};
77
78
79
class
SCR_AIGetCurrentEnemy
:
SCR_AICombatTargetGetterTask
80
{
81
//-------------------------------------------------------------------------------------------
82
protected
static
override
string
GetOnHoverDescription
()
83
{
84
return
"Returns current enemy from SCR_AICombatComponent.GetCurrentTarget()"
;
85
}
86
87
//-------------------------------------------------------------------------------------------
88
override
protected
BaseTarget
GetEnemy
(SCR_AICombatComponent combatComp)
89
{
90
return
combatComp.GetCurrentTarget();
91
}
92
93
//-------------------------------------------------------------------------------------------
94
static
override
bool
VisibleInPalette
() {
return
true
;}
95
};
96
97
98
class
SCR_AIGetLastSeenEnemy
:
SCR_AICombatTargetGetterTask
99
{
100
//-------------------------------------------------------------------------------------------
101
protected
static
override
string
GetOnHoverDescription
()
102
{
103
return
"Returns current enemy from SCR_AICombatComponent.GetLastSeenEnemy()"
;
104
}
105
106
//-------------------------------------------------------------------------------------------
107
override
protected
BaseTarget
GetEnemy
(SCR_AICombatComponent combatComp)
108
{
109
return
combatComp.GetLastSeenEnemy();
110
}
111
112
//-------------------------------------------------------------------------------------------
113
static
override
bool
VisibleInPalette
() {
return
true
;}
114
};
AITaskScripted
Definition
AITaskScripted.c:13
BaseTarget
Definition
BaseTarget.c:13
IEntity
Definition
IEntity.c:13
Node::SetVariableOut
proto void SetVariableOut(string name, void val)
Node::ClearVariable
proto void ClearVariable(string name)
SCR_AICombatTargetGetterTask
Base class for tasks which return some target from combat component.
Definition
SCR_AICombatTargetGetterTask.c:3
SCR_AICombatTargetGetterTask::ENEMY_ENTITY_PORT
static const string ENEMY_ENTITY_PORT
Definition
SCR_AICombatTargetGetterTask.c:6
SCR_AICombatTargetGetterTask::GetVariablesOut
override TStringArray GetVariablesOut()
Definition
SCR_AICombatTargetGetterTask.c:69
SCR_AICombatTargetGetterTask::m_TargetInfo
ref SCR_AITargetInfo m_TargetInfo
Definition
SCR_AICombatTargetGetterTask.c:11
SCR_AICombatTargetGetterTask::OnInit
override void OnInit(AIAgent owner)
Definition
SCR_AICombatTargetGetterTask.c:14
SCR_AICombatTargetGetterTask::Fail
ENodeResult Fail()
Definition
SCR_AICombatTargetGetterTask.c:51
SCR_AICombatTargetGetterTask::ENEMY_TARGET_INFO_PORT
static const string ENEMY_TARGET_INFO_PORT
Definition
SCR_AICombatTargetGetterTask.c:9
SCR_AICombatTargetGetterTask::GetEnemy
BaseTarget GetEnemy(SCR_AICombatComponent combatComp)
Must be overridden in child classes.
SCR_AICombatTargetGetterTask::m_CombatComponent
SCR_AICombatComponent m_CombatComponent
Definition
SCR_AICombatTargetGetterTask.c:4
SCR_AICombatTargetGetterTask::VisibleInPalette
static override bool VisibleInPalette()
Definition
SCR_AICombatTargetGetterTask.c:75
SCR_AICombatTargetGetterTask::s_aVarsOut
static ref TStringArray s_aVarsOut
Definition
SCR_AICombatTargetGetterTask.c:62
SCR_AICombatTargetGetterTask::EOnTaskSimulate
override ENodeResult EOnTaskSimulate(AIAgent owner, float dt)
Definition
SCR_AICombatTargetGetterTask.c:25
SCR_AICombatTargetGetterTask::ENEMY_LAST_SEEN_POS_PORT
static const string ENEMY_LAST_SEEN_POS_PORT
Definition
SCR_AICombatTargetGetterTask.c:7
SCR_AICombatTargetGetterTask::ENEMY_LAST_SEEN_TIME_PORT
static const string ENEMY_LAST_SEEN_TIME_PORT
Definition
SCR_AICombatTargetGetterTask.c:8
SCR_AIGetCurrentEnemy
Definition
SCR_AICombatTargetGetterTask.c:80
SCR_AIGetCurrentEnemy::GetEnemy
BaseTarget GetEnemy(SCR_AICombatComponent combatComp)
Definition
SCR_AICombatTargetGetterTask.c:88
SCR_AIGetCurrentEnemy::VisibleInPalette
static override bool VisibleInPalette()
Definition
SCR_AICombatTargetGetterTask.c:94
SCR_AIGetCurrentEnemy::GetOnHoverDescription
static override string GetOnHoverDescription()
Definition
SCR_AICombatTargetGetterTask.c:82
SCR_AIGetLastSeenEnemy
Definition
SCR_AICombatTargetGetterTask.c:99
SCR_AIGetLastSeenEnemy::GetEnemy
BaseTarget GetEnemy(SCR_AICombatComponent combatComp)
Definition
SCR_AICombatTargetGetterTask.c:107
SCR_AIGetLastSeenEnemy::VisibleInPalette
static override bool VisibleInPalette()
Definition
SCR_AICombatTargetGetterTask.c:113
SCR_AIGetLastSeenEnemy::GetOnHoverDescription
static override string GetOnHoverDescription()
Definition
SCR_AICombatTargetGetterTask.c:101
ENodeResult
ENodeResult
Definition
ENodeResult.c:13
TStringArray
array< string > TStringArray
Definition
Types.c:385
scripts
Game
AI
ScriptedNodes
Soldier
SCR_AICombatTargetGetterTask.c
Generated by
1.17.0