Exemple #1
0
    //等这一帧运行完,在进行调用
    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;
    }