Exemplo n.º 1
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(Enumerators.GameStateTypes gameState)
        {
            switch (gameState)
            {
            case Enumerators.GameStateTypes.START_GAMEPLAY:
                return(_gamePlayFactory.Create());

            case Enumerators.GameStateTypes.MENU:
                return(_menuStateFactory.Create());
            }

            return(null);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Change game state
        /// </summary>
        /// <param name="state">The state to transition to</param>
        internal void ChangeState(Enumerators.GameStateTypes state)
        {
            if (_gameStateEntity != null)
            {
                _gameStateEntity.Dispose();
                _gameStateEntity = null;
            }

            _previousGameState = _currentGameState;
            _currentGameState  = state;

            _gameStateEntity = _gameStateFactory.CreateState(state);
            _gameStateEntity.Initialize();
            _gameStateEntity.Start();
        }