public static SpaceInvadersGameState GetState(GameState state)
        {
            GameStateManager pInstance = GameStateManager.PrivInstance();

            Debug.Assert(pInstance != null);

            SpaceInvadersGameState pSpaceInvadersGameState = null;

            switch (state)
            {
            case GameStateManager.GameState.Attract:
                pSpaceInvadersGameState = pInstance.pAttractState;
                break;

            case GameStateManager.GameState.Player1:
                pSpaceInvadersGameState = pInstance.pPlayer1State;
                break;

            case GameStateManager.GameState.Player2:
                pSpaceInvadersGameState = pInstance.pPlayer2State;
                break;

            case GameStateManager.GameState.End:
                pSpaceInvadersGameState = pInstance.pEndState;
                break;

            default:
                Debug.Assert(false);
                break;
            }

            return(pSpaceInvadersGameState);
        }
        public static void SetGame(SpaceInvaders inGame)
        {
            Debug.Assert(inGame != null);

            GameStateManager pInstance = GameStateManager.PrivInstance();

            pInstance.pGame = inGame;
        }
        public static SpaceInvaders GetGame()
        {
            GameStateManager pInstance = GameStateManager.PrivInstance();

            Debug.Assert(pInstance != null);
            Debug.Assert(pInstance.pGame != null);

            return(pInstance.pGame);
        }