Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_AICombatTargetGetterTask.c
Go to the documentation of this file.
1
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 {
28 return ENodeResult.FAIL;
29
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
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
58 return ENodeResult.FAIL;
59 }
60
61 //-------------------------------------------------------------------------------------------
69 protected override TStringArray GetVariablesOut()
70 {
71 return s_aVarsOut;
72 }
73
74 //-------------------------------------------------------------------------------------------
75 static override bool VisibleInPalette() {return false;}
76};
77
78
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
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};
proto void SetVariableOut(string name, void val)
proto void ClearVariable(string name)
Base class for tasks which return some target from combat component.
override void OnInit(AIAgent owner)
BaseTarget GetEnemy(SCR_AICombatComponent combatComp)
Must be overridden in child classes.
override ENodeResult EOnTaskSimulate(AIAgent owner, float dt)
BaseTarget GetEnemy(SCR_AICombatComponent combatComp)
static override bool VisibleInPalette()
static override string GetOnHoverDescription()
BaseTarget GetEnemy(SCR_AICombatComponent combatComp)
static override bool VisibleInPalette()
static override string GetOnHoverDescription()
ENodeResult
Definition ENodeResult.c:13
array< string > TStringArray
Definition Types.c:385