Ejemplo n.º 1
0
        private void Start()
        {
            //  yield return new WaitForSeconds(2f);

            m_FSMManager = GameBox.GetComponent <FSMComponent>(); //获取状态机管家组件
            m_IFSM       = m_FSMManager.CreateFSM("Demo");        //创建一个状态机
            m_IFSM.AddState <StateOne>();
            m_IFSM.AddState(typeof(StateTwo));
            m_IFSM.AddCondition <ConditionOne>();
            m_IFSM.AddCondition <ConditionTwo>();
            m_IFSM.ChangeState <StateOne>(); //初始状态
        }
Ejemplo n.º 2
0
 private void InitActionStateFSM()
 {
     foreach (var handler in _actionStateHandlers)
     {
         _actionStateFsm.AddState(handler.Key, handler.Value);
     }
 }
Ejemplo n.º 3
0
 private void InitFsm()
 {
     foreach (KeyValuePair <TAction, IActionHandler <TAction> > handler in _actionHandlerDic)
     {
         _actionFsm.AddState(handler.Key, handler.Value);
     }
 }
Ejemplo n.º 4
0
 private void InitFsm()
 {
     foreach (KeyValuePair <T, IFsmState <T> > state in _viewDic)
     {
         _fsm.AddState(state.Key, state.Value);
     }
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Adds a state to this instance
 /// </summary>
 /// <typeparam name="T"></typeparam>
 public void AddState <T>() where T : IState, new()
 {
     //add the state
     _fsm.AddState <T>();
 }