Пример #1
0
 public override void Dispose()
 {
     stateMachine?.Dispose();
     stateMachine = null;
     lastBehavior = null;
     parentNode   = null;
     StateMachineManager.GetInstance().Store(this);
 }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
 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);
 }
Пример #5
0
 public void Stop()
 {
     lastBehavior?.Stop();
     lastBehavior = null;
     stateMachine?.Stop();
 }