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>(); //初始状态 }
private void InitActionStateFSM() { foreach (var handler in _actionStateHandlers) { _actionStateFsm.AddState(handler.Key, handler.Value); } }
private void InitFsm() { foreach (KeyValuePair <TAction, IActionHandler <TAction> > handler in _actionHandlerDic) { _actionFsm.AddState(handler.Key, handler.Value); } }
private void InitFsm() { foreach (KeyValuePair <T, IFsmState <T> > state in _viewDic) { _fsm.AddState(state.Key, state.Value); } }
/// <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>(); }