示例#1
0
        public void AppendInterval(float interval)
        {
            StateNode node = StateMachineManager.GetInstance().CreateStateNode();

            node.name     = "AppendInterval interval:" + interval;
            node.duration = interval;
            AppendStateNode(node);
        }
示例#2
0
        public void AppendState(LuaFunction onEnter, string name)
        {
            StateNode node = StateMachineManager.GetInstance().CreateStateNode();

            node.name    = name;
            node.OnEnter = onEnter;
            AppendStateNode(node);
        }
示例#3
0
 public override void Dispose()
 {
     stateMachine?.Dispose();
     stateMachine = null;
     lastBehavior = null;
     parentNode   = null;
     StateMachineManager.GetInstance().Store(this);
 }
示例#4
0
        public void BeginJoin()
        {
            var         node     = StateMachineManager.GetInstance().CreateStateNode();
            StateAction subState = StateMachineManager.GetInstance().CreateStateAction(node);

            subState.order = StateOrder.Join;
            state2DList.Add(subState);
            m_currstateList = new List <StateAction>();
            subState.AddSubList(m_currstateList);
        }
示例#5
0
 public override void Dispose()
 {
     duration = 0;
     OnEnter?.EndPCall();
     OnEnter = null;
     OnUpdate?.EndPCall();
     OnUpdate = null;
     OnExit?.EndPCall();
     OnExit = null;
     StateMachineManager.GetInstance().Store(this);
 }
示例#6
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);
        }
示例#7
0
 public override void Dispose()
 {
     for (int i = 0; i < state2DList.Count; i++)
     {
         state2DList[i].Dispose();
     }
     m_curr2DQueue = null;
     isRunning     = false;
     state2DList.Clear();
     m_currstateList = state2DList;
     m_cycleOverCallback?.Dispose();
     StateMachineManager.GetInstance().Store(this);
 }
示例#8
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);
 }
示例#9
0
        private void AppendStateNode(StateNode node)
        {
            var action = StateMachineManager.GetInstance().CreateStateAction(node);

            stateMachine.AppendState(action);
        }