Example #1
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)
        {
            GraphicsDevice.Clear(Color.CornflowerBlue);
            var viewMatrix = camera.GetViewMatrix();

            switch (CurrentGameState)
            {
            case GameState.MainMenu:
                spriteBatch.Begin();
                _mainStartButton.Draw(spriteBatch);
                _mainControlsButton.Draw(spriteBatch);
                spriteBatch.End();
                break;

            case GameState.Controls:
                spriteBatch.Begin();
                _controlsLayout.Draw(spriteBatch);
                _controlsBackButton.Draw(spriteBatch);
                spriteBatch.End();
                break;

            case GameState.Level1:
                DrawLevel(_level1, viewMatrix);
                break;

            case GameState.Level2:
                DrawLevel(_level2, viewMatrix);
                break;

            case GameState.EndScreen:
                GraphicsDevice.Clear(Color.Black);
                spriteBatch.Begin();
                spriteBatch.DrawString(endScreenFont, "Totale score: " + playerPoints.ToString(), new Vector2(300, 300), Color.White);
                _victoryAchieved.Draw(spriteBatch);
                spriteBatch.End();
                break;
            }
            base.Draw(gameTime);
        }