示例#1
0
        public override void Draw(GameTime gameTime)
        {
            switch (_currentState)
            {
            case States.Playing:

                _spriteBatch.Begin(SpriteSortMode.FrontToBack);

                if (_showGrid)
                {
                    foreach (var grid in _grids)
                    {
                        grid.Draw(gameTime, _spriteBatch);
                    }
                }

                _currentArea.Draw(gameTime, _spriteBatch);

                _player.Draw(gameTime, _spriteBatch);

                _spriteBatch.End();

                break;

            case States.Battle:
                _battleState.Draw(gameTime);
                break;

            case States.AfterBattle:
                _afterBattleState.Draw(gameTime);
                break;

            case States.Paused:

                _pauseState.Draw(gameTime);

                break;

            case States.Map:

                _mapState.Draw(gameTime);

                break;

            default:
                break;
            }

            _spriteBatch.Begin();

            _transition.Draw(gameTime, _spriteBatch);

            _spriteBatch.End();
        }