public override void Dispose() { m_startTime = 0; execute = false; isTimeout = false; behavior?.Stop(); behavior = null; parentBehavior = null; order = StateOrder.Sequence; subStateList?.Clear(); m_node.Dispose(); StateMachineManager.GetInstance().Store(this); }
public void Execute() { m_node.OnEnterDelegate(); if (behavior != null) { if (order == StateOrder.Join) { behavior.Run(); behavior.Update(); behavior.Stop(); } else { if (parentBehavior != null) { parentBehavior.lastBehavior?.Stop(); behavior.Run(); parentBehavior.lastBehavior = behavior; } } } }
public void Stop() { lastBehavior?.Stop(); lastBehavior = null; stateMachine?.Stop(); }