public override void Dispose() { stateMachine?.Dispose(); stateMachine = null; lastBehavior = null; parentNode = null; StateMachineManager.GetInstance().Store(this); }
public void JoinBehavior(FastLuaBehavior behavior, string name) { StateNode node = StateMachineManager.GetInstance().CreateStateNode(); node.name = name; var action = StateMachineManager.GetInstance().CreateStateAction(node); action.parentBehavior = this; action.behavior = behavior; behavior.parentNode = node; stateMachine.AppendState(action); }
public FastLuaBehavior CreateFastLuaBehavior(StateMachine sm) { if (FastLuaBehaviorPool.IsEmpty()) { //Debug.LogWarning("StateMachine Pool is overload"); var b = new FastLuaBehavior(); FastLuaBehaviorPool.Store(b); } var o = FastLuaBehaviorPool.Get(); o.SetStateMachine(sm); return(o); }
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 Stop() { lastBehavior?.Stop(); lastBehavior = null; stateMachine?.Stop(); }