5 static const string PORT_NEXT_COVER =
"NextCoverPos";
6 static const string PORT_COMBAT_STANCE =
"CombatStance";
7 static const string PORT_ALLOW_STANCE_STAND =
"AllowStanceStand";
9 protected SCR_AICombatComponent m_CombatComponent;
10 protected SCR_AIUtilityComponent m_Utility;
15 protected static ref TStringArray s_aVarsOut = {
19 override TStringArray GetVariablesOut()
24 protected static ref TStringArray s_aVarsIn = {
25 PORT_ALLOW_STANCE_STAND
27 override TStringArray GetVariablesIn()
32 override void OnInit(AIAgent owner)
34 m_entity = owner.GetControlledEntity();
37 protected override bool TestFunction(AIAgent owner)
41 m_CombatComponent = SCR_AICombatComponent.Cast(m_entity.FindComponent(SCR_AICombatComponent));
48 m_Utility = SCR_AIUtilityComponent.Cast(owner.FindComponent(SCR_AIUtilityComponent));
55 if (pos == vector.Zero)
58 SetVariableOut(PORT_NEXT_COVER, pos);
62 bool allowStand =
true;
63 GetVariableIn(PORT_ALLOW_STANCE_STAND, allowStand);
65 ECharacterStance threatStance = GetStanceFromThreat(m_Utility.m_ThreatSystem.GetState());
68 SetVariableOut(PORT_COMBAT_STANCE, threatStance);
73 protected override bool VisibleInPalette()
78 protected override string GetOnHoverDescription()
80 return "Decorator that controls attack move";