Beispiel #1
0
        // PUBLIC METHODS: ------------------------------------------------------------------------

        public Return Execute(GameObject invoker, Behavior behavior)
        {
            Return state = this.UpdateNode(invoker, behavior);

            behavior.SetState(this.GetInstanceID(), state);

            return(state);
        }
Beispiel #2
0
        public override void AbortNode(GameObject invoker, Behavior behavior)
        {
            int instanceID = this.GetInstanceID();

            if (behavior.GetState(instanceID) == Return.None)
            {
                return;
            }

            behavior.StopActions(instanceID);
            behavior.SetState(instanceID, Return.None);
        }
Beispiel #3
0
        public virtual void ResetOutputStates(GameObject invoker, Behavior behavior, bool caller)
        {
            behavior.SetState(this.GetInstanceID(), Return.None);
            if (!caller)
            {
                behavior.SetPassCount(this.GetInstanceID(), 0);
            }

            for (int i = 0; i < this.outputs.Count; ++i)
            {
                this.outputs[i].ResetOutputStates(invoker, behavior, false);
            }
        }
Beispiel #4
0
        public override void AbortNode(GameObject invoker, Behavior behavior)
        {
            int instanceID = this.GetInstanceID();

            if (behavior.GetState(instanceID) == Return.None)
            {
                return;
            }

            behavior.SetState(instanceID, Return.None);

            for (int i = 0; i < this.outputs.Count; ++i)
            {
                this.outputs[i].AbortNode(invoker, behavior);
            }
        }