Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_AIAnimateBehavior.c
Go to the documentation of this file.
2{
3 ref SCR_BTParam<IEntity> m_RootEntity = new SCR_BTParam<IEntity>(SCR_AIActionTask.ENTITY_PORT);
4 ref SCR_BTParamRef<SCR_AIAnimationScript> m_AgentScript = new SCR_BTParamRef<SCR_AIAnimationScript>(SCR_AIActionTask.AGENT_SCRIPT_PORT);
5 ref SCR_BTParamRef<ScriptInvokerBase<SCR_AIOnAnimationBehaviorAction>> m_RelatedInvoker = new SCR_BTParamRef<ScriptInvokerBase<SCR_AIOnAnimationBehaviorAction>>(SCR_AIActionTask.RELATED_INVOKER_PORT);
6
7 protected int m_iAnimationIndex;
9
10 //-----------------------------------------------------------------------------------------------------
11 void SCR_AIAnimateBehavior(SCR_AIUtilityComponent utility, SCR_AIActivityBase groupActivity, IEntity rootEntity, float priority = PRIORITY_BEHAVIOR_ANIMATE, float priorityLevel = PRIORITY_LEVEL_NORMAL, SCR_AIAnimationScript scriptForAgent = null, ScriptInvokerBase<SCR_AIOnAnimationBehaviorAction> relatedInvoker = null)
12 {
13 m_sBehaviorTree = "AI/BehaviorTrees/Chimera/Soldier/Behavior_Animate.bt";
14 m_RootEntity.Init(this, rootEntity);
15 m_AgentScript.Init(this, scriptForAgent);
16 m_RelatedInvoker.Init(this, relatedInvoker);
17 SetPriority(priority);
18 m_fPriorityLevel.m_Value = priorityLevel;
19 }
20
21 //---------------------------------------------------------------------------------------------------------------------------------
22 override int GetCause()
23 {
24 return SCR_EAIBehaviorCause.SAFE;
25 }
26
27 //-----------------------------------------------------------------------------------------------------
28 override void OnActionSelected()
29 {
30 super.OnActionSelected();
31 m_animateActivity = SCR_AIAnimateActivity.Cast(GetRelatedGroupActivity());
33 {
34 PrintFormat("Behavior %1 does not have proper related activity %2!", this, GetRelatedGroupActivity());
35 Fail();
36 }
37 m_animateActivity.AddAgentToAnimatedAgents(m_Utility.GetOwner());
38 }
39
40 //-----------------------------------------------------------------------------------------------------
41 override void OnActionFailed()
42 {
43 super.OnActionFailed();
45 m_animateActivity.RemoveAgentFromAnimatedAgents(m_Utility.GetOwner(), false);
46 }
47
48 //-----------------------------------------------------------------------------------------------------
49 override void OnActionCompleted()
50 {
51 super.OnActionCompleted();
53 m_animateActivity.RemoveAgentFromAnimatedAgents(m_Utility.GetOwner(), true);
54 }
55};
56
58{
59 static ref TStringArray s_aVarsOut = (new SCR_AIAnimateBehavior(null, null, null)).GetPortNames();
60 override TStringArray GetVariablesOut() { return s_aVarsOut; }
61
62 static override bool VisibleInPalette() { return true; }
63};
ref SCR_BTParam< float > m_fPriorityLevel
enum EAIActionFailReason PRIORITY_LEVEL_NORMAL
TStringArray GetPortNames()
ResourceName m_sBehaviorTree
void Fail(bool doNotCompleteWaypoint)
void SCR_AIActivityBase(SCR_AIGroupUtilityComponent utility, AIWaypoint relatedWaypoint)
enum SCR_EAIActivityCause m_Utility
void SCR_AIBehaviorBase(SCR_AIUtilityComponent utility, SCR_AIActivityBase groupActivity)
SCR_EAIBehaviorCause
override TStringArray GetVariablesOut()
void SCR_AIAnimateBehavior(SCR_AIUtilityComponent utility, SCR_AIActivityBase groupActivity, IEntity rootEntity, float priority=PRIORITY_BEHAVIOR_ANIMATE, float priorityLevel=PRIORITY_LEVEL_NORMAL, SCR_AIAnimationScript scriptForAgent=null, ScriptInvokerBase< SCR_AIOnAnimationBehaviorAction > relatedInvoker=null)
SCR_AIAnimateActivity m_animateActivity
override void OnActionCompleted()
static override bool VisibleInPalette()
proto void PrintFormat(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL, LogLevel level=LogLevel.NORMAL)
array< string > TStringArray
Definition Types.c:385