// PUBLIC METHODS: ------------------------------------------------------------------------ public Return Execute(GameObject invoker, Behavior behavior) { Return state = this.UpdateNode(invoker, behavior); behavior.SetState(this.GetInstanceID(), state); return(state); }
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); }
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); } }
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); } }