/// <summary> /// 切换状态, 如果是本身就不切换 /// </summary> public void ChangeState(CBaseState state) { if (state == m_currState) { return; } SetCurrState(state); }
private void SetCurrState(CBaseState state) { m_lastState = m_currState; m_currState = state; if (m_lastState != null) { m_lastState.Exit(this); } m_currState.Enter(this); }
public void RegisterState(CBaseState state) { if (m_stateDict.ContainsKey(state.Name)) { Debug.LogError("Duplicate RegisterState With State Name " + state.Name); return; } m_stateDict[state.Name] = state; }
public void Destroy() { foreach (KeyValuePair <string, CBaseState> item in m_stateDict) { item.Value.Destroy(); } m_stateDict.Clear(); m_currState = null; m_lastState = null; m_stateDict = null; m_globalState = null; }
public void RegisterGlobalState(CBaseState state) { //目前认为 全局状态不应该注册进去 m_globalState = state; }