Esempio n. 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();
        }
Esempio n. 2
0
        /// <summary>
        /// This is called when the game should draw itself.
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            if (menuState)
            {
                GraphicsDevice.Clear(Color.CornflowerBlue);
                _spriteBatch.Begin();
                menu.Draw(_spriteBatch);
                _spriteBatch.End();
            }
            else
            {
                if (!pausedState && !gameOverState)
                {
                    if (hidden == true)
                    {
                        GraphicsDevice.Clear(Color.Black);
                    }
                    else
                    {
                        GraphicsDevice.Clear(Color.CornflowerBlue);
                        background.Draw(_spriteBatch, camera);
                    }

                    _spriteBatch.Begin(SpriteSortMode.BackToFront,
                                       null,
                                       SamplerState.LinearWrap,
                                       null, null, null,
                                       camera.GetViewMatrix(Vector2.One));
                    level.Draw(_spriteBatch);
                    _spriteBatch.End();
                    Feedback.Draw(_spriteBatch, camera);

                    base.Draw(gameTime);
                }
                else if (pausedState)
                {
                    _spriteBatch.Begin(SpriteSortMode.BackToFront,
                                       null,
                                       SamplerState.LinearWrap,
                                       null, null, null,
                                       camera.GetViewMatrix(Vector2.One));
                    pause.Draw(_spriteBatch);
                    _spriteBatch.End();
                }
            }
        }