private void ChangeState(string newState, STATE_FUNC init) { if (m_currentStateName == newState) { return; } StopCoroutine(m_currentStateName); if (m_stateEndFunc != null) { m_stateEndFunc(); } SetDefaultFunc(); m_currentStateName = newState; if (init != null) { init(); } StartCoroutine(m_currentStateName); }
//---------- Dead State -------- private void State_DeadInit() { m_encountFunc = Encount_Dead; m_updateFunc = Update_Dead; }
//--------- Normal State -------- private void State_NormalInit() { m_encountFunc = Encount_Normal; m_updateFunc = Update_Normal; }
private void SetDefaultFunc() { m_stateEndFunc = null; m_encountFunc = Encount_Normal; m_updateFunc = Update_Normal; }
//------------------状态初始化-------------------------- private void State_NormalInit() { m_updateFunc = Update_Normal; }