public virtual void Update() { if (null != nextState) { if (null != curState) { curState.End(); } curState = nextState; curState.Enter(); nextState = null; } if (curState != null) { curState.Update(); } }
public virtual void SetState(Fsm_Type state) { nextState = fsmStateList[state]; }
public virtual void Init() { curState = null; nextState = null; }
public virtual void AddFsm(Fsm_State <Fsm_Type> state) { fsmStateList.Add(state.getStateType, state); }
public virtual void Clear() { fsmStateList.Clear(); curState = null; nextState = null; }