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_AIGetTarget.c
Go to the documentation of this file.
1
class
SCR_AIGetTarget
:
AITaskScripted
2
{
3
[
Attribute
(
"1"
,
UIWidgets
.EditBox,
"Filter target by how long ago it was seen"
,
""
)]
4
float
m_fTimeSinceSeenMax;
5
6
[
Attribute
(
"20"
,
UIWidgets
.EditBox,
"Filter target by how far it can be"
,
""
)]
7
float
m_fDetectionRange;
8
9
[
Attribute
(
"0"
,
UIWidgets
.ComboBox,
"Wanted target type"
,
""
, ParamEnumArray.FromEnum(
ETargetCategory
) )]
10
ETargetCategory
m_eTargetType;
11
12
protected
static
const
string
PORT_BASE_TARGET
=
"BaseTarget"
;
13
14
protected
PerceptionComponent
m_PerceptionComp
;
15
#ifdef WORKBENCH
16
protected
ref
Shape
m_Shape;
17
#endif
18
19
static
override
bool
VisibleInPalette
()
20
{
21
return
true
;
22
}
23
24
protected
override
string
GetNodeMiddleText
()
25
{
26
return
"LastSeenMax: "
+ m_fTimeSinceSeenMax.ToString() +
"\n"
+
27
"TargetCategory: "
+
typename
.EnumToString(
ETargetCategory
, m_eTargetType);
28
}
29
30
override
void
OnInit
(AIAgent owner)
31
{
32
GenericEntity
ent =
GenericEntity
.Cast(owner.GetControlledEntity());
33
if
(!ent)
34
return
;
35
36
m_PerceptionComp
= PerceptionComponent.Cast(ent.
FindComponent
(PerceptionComponent));
37
}
38
39
override
ENodeResult
EOnTaskSimulate
(AIAgent owner,
float
dt)
40
{
41
BaseTarget
baseTarget =
m_PerceptionComp
.GetClosestTarget(m_eTargetType, m_fTimeSinceSeenMax, m_fTimeSinceSeenMax);
42
43
if
(!baseTarget || baseTarget.GetDistance() > m_fDetectionRange)
44
return
ENodeResult
.FAIL;
45
46
#ifdef WORKBENCH
47
if
(
DiagMenu
.GetBool(
SCR_DebugMenuID
.DEBUGUI_AI_SHOW_TARGET_LASTSEEN))
48
m_Shape =
Shape
.CreateSphere(
COLOR_BLUE_A
,
ShapeFlags
.NOOUTLINE|
ShapeFlags
.NOZBUFFER|
ShapeFlags
.TRANSP, baseTarget.GetLastSeenPosition(), 0.1);
49
#endif
50
SetVariableOut
(
PORT_BASE_TARGET
, baseTarget);
51
return
ENodeResult
.SUCCESS;
52
}
53
54
protected
static
ref
TStringArray
s_aVarsOut
= {
55
PORT_BASE_TARGET
56
};
57
override
TStringArray
GetVariablesOut
()
58
{
59
return
s_aVarsOut
;
60
}
61
};
SCR_DebugMenuID
SCR_DebugMenuID
This enum contains all IDs for DiagMenu entries added in script.
Definition
DebugMenuID.c:4
AITaskScripted
Definition
AITaskScripted.c:13
BaseTarget
Definition
BaseTarget.c:13
DiagMenu
Diagnostic and developer menu system.
Definition
DiagMenu.c:18
GenericEntity
Definition
GenericEntity.c:16
IEntity::FindComponent
proto external Managed FindComponent(typename typeName)
Node::SetVariableOut
proto void SetVariableOut(string name, void val)
SCR_AIGetTarget
Definition
SCR_AIGetTarget.c:2
SCR_AIGetTarget::GetNodeMiddleText
override string GetNodeMiddleText()
Definition
SCR_AIGetTarget.c:24
SCR_AIGetTarget::VisibleInPalette
static override bool VisibleInPalette()
Definition
SCR_AIGetTarget.c:19
SCR_AIGetTarget::OnInit
override void OnInit(AIAgent owner)
Definition
SCR_AIGetTarget.c:30
SCR_AIGetTarget::m_PerceptionComp
PerceptionComponent m_PerceptionComp
Definition
SCR_AIGetTarget.c:14
SCR_AIGetTarget::s_aVarsOut
static ref TStringArray s_aVarsOut
Definition
SCR_AIGetTarget.c:54
SCR_AIGetTarget::GetVariablesOut
override TStringArray GetVariablesOut()
Definition
SCR_AIGetTarget.c:57
SCR_AIGetTarget::EOnTaskSimulate
override ENodeResult EOnTaskSimulate(AIAgent owner, float dt)
Definition
SCR_AIGetTarget.c:39
SCR_AIGetTarget::PORT_BASE_TARGET
static const string PORT_BASE_TARGET
Definition
SCR_AIGetTarget.c:12
Shape
Instance of created debug visualizer.
Definition
Shape.c:14
UIWidgets
Definition
attributes.c:40
ENodeResult
ENodeResult
Definition
ENodeResult.c:13
COLOR_BLUE_A
const int COLOR_BLUE_A
Definition
constants.c:28
ShapeFlags
ShapeFlags
Definition
ShapeFlags.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
ETargetCategory
ETargetCategory
Definition
ETargetCategory.c:13
TStringArray
array< string > TStringArray
Definition
Types.c:385
scripts
Game
AI
ScriptedNodes
Soldier
SCR_AIGetTarget.c
Generated by
1.17.0