//等这一帧运行完,在进行调用 protected void LateChangeState(GameStateEnum eGameStateEnum) { if (m_curGameStateEnum == eGameStateEnum) { return; } if (m_gameState != null) { m_gameState.Exit(); m_gameState.Deinitialization(); m_gameState = null; } switch (eGameStateEnum) { case GameStateEnum.GameStateEnum_Login: case GameStateEnum.GameStateEnum_Resert: m_gameState = new GameLoginState(); break; } m_gameState.Initalize(); if (eGameStateEnum == GameStateEnum.GameStateEnum_Resert) { eGameStateEnum = GameStateEnum.GameStateEnum_Login; } m_curGameStateEnum = eGameStateEnum; }