public void removeTransiton(ENUM_StateCondition stateCondition, ENUM_State state) { if (m_transitions.ContainsKey(stateCondition)) { m_transitions.Remove(stateCondition); } }
//根据当前状态和转换条件进行状态切换 public void doTransition(ENUM_StateCondition stateCondition) { ENUM_State newStateType = CurState.Transitions[stateCondition]; CurState = m_states[newStateType]; CurStateType = newStateType; }
public abstract void act(); //当前状态下的行为 //添加 转换--状态 键值对 public void addTransiton(ENUM_StateCondition stateCondition, ENUM_State state) { if (!m_transitions.ContainsKey(stateCondition)) { m_transitions.Add(stateCondition, state); } }