From 3363cb204b3e027a2856d772a6972a14d848a5d5 Mon Sep 17 00:00:00 2001 From: Grzes Furga Date: Wed, 21 Aug 2024 17:10:38 +0200 Subject: [PATCH] Dont restart nodes that already returned success --- Runtime/Composites/Sequencer.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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; } }