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;
 }