示例#1
0
        public void TransitionToState(FSMState nextState)
        {
            if (_currentState != null)
            {
                _currentState.Exit();
            }
            nextState.Enter();

            _currentState = nextState;
        }
示例#2
0
文件: FSM.cs 项目: Venbb/VGame
        public void SetTransition(Transition tran, params object[] args)
        {
            if (tran == Transition.NULL || curSate == null)
            {
                return;
            }
            StateID id = curSate.GetState(tran);

            if (!states.ContainsKey(id))
            {
                return;
            }
            curSate.Exit();
            curSate = states[id];
            curSate.Enter(args);
        }