diff --git a/Runtime/Composites/Sequencer.cs b/Runtime/Composites/Sequencer.cs index 44db4f2..8621872 100644 --- a/Runtime/Composites/Sequencer.cs +++ b/Runtime/Composites/Sequencer.cs @@ -5,8 +5,10 @@ namespace TheKiwiCoder { [System.Serializable] public class Sequencer : CompositeNode { + int lastNodeFinished; protected override void OnStart() { + lastNodeFinished = -1; } protected override void OnStop() { @@ -14,12 +16,16 @@ protected override void OnStop() { protected override State OnUpdate() { for (int i = 0; i < children.Count; ++i) { + if (i <= lastNodeFinished) continue; + var childStatus = children[i].Update(); - + if (childStatus == State.Running) { return State.Running; } else if (childStatus == State.Failure) { return State.Failure; + } else if (childStatus == State.Success) { + lastNodeFinished = i; } }