Exemple #1
0
        public void onexit_action(Agent pAgent, EBTStatus status)
        {
            this.onexit(pAgent, status);

            if (this.m_node != null)
            {
                Effector.EPhase phase = Effector.EPhase.E_SUCCESS;

                if (status == EBTStatus.BT_FAILURE)
                {
                    phase = Effector.EPhase.E_FAILURE;
                }
                else
                {
                    Debug.Check(status == EBTStatus.BT_SUCCESS);
                }

                this.m_node.ApplyEffects(pAgent, phase);
            }

#if !BEHAVIAC_RELEASE
            if (Config.IsLoggingOrSocketing)
            {
                //BEHAVIAC_PROFILE_DEBUGBLOCK("Debug", true);
                if (status == EBTStatus.BT_SUCCESS)
                {
                    BehaviorTask.CHECK_BREAKPOINT(pAgent, this.m_node, "exit", EActionResult.EAR_success);
                }
                else
                {
                    BehaviorTask.CHECK_BREAKPOINT(pAgent, this.m_node, "exit", EActionResult.EAR_failure);
                }
            }
#endif
        }
Exemple #2
0
        public override void ApplyEffects(Agent pAgent, Effector.EPhase phase)
        {
            for (int i = 0; i < this.m_effectors.Count; ++i)
            {
                Effector.EffectorConfig effector = this.m_effectors[i];

                effector.Execute(pAgent);
            }
        }