Пример #1
0
        public BaseState Create(GameStateType gameState)
        {
            switch (gameState)
            {
            case GameStateType.Gamestart:
                return(_gamestartFactory.Create());

            case GameStateType.Gameplay:
                return(_gameplayFactory.Create());

            case GameStateType.Gameover:
                return(_gameoverFactory.Create());

            default:
                throw Assert.CreateException("Unknown state: {}".Fmt(gameState));
            }
        }
Пример #2
0
        /// <summary>
        /// Creates the requested game state entity
        /// </summary>
        /// <param name="gameState">State we want to create</param>
        /// <returns>The requested game state entity</returns>
        internal GameStateEntity CreateState(GameState gameState)
        {
            switch (gameState)
            {
            case GameState.Menu:
                return(_menuFactory.Create());

            case GameState.Gameplay:
                return(_gameplayFactory.Create());

            case GameState.GameOver:
                return(_gameOverFactory.Create());

            case GameState.Victory:
                return(_victoryFactory.Create());
            }

            throw Assert.CreateException("Code should not be reached");
        }