/// <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); spriteBatch.Begin(); switch (currentScreen) { case Screen.StartScreen: if (startScreen != null) { startScreen.Draw(spriteBatch); } break; case Screen.GameScreen: if (gameScreen != null) { gameScreen.Draw(gameTime, spriteBatch); } break; case Screen.ScoreboardScreen: if (scoreboardScreen != null) { scoreboardScreen.Draw(spriteBatch); } break; case Screen.ControlsScreen: if (controlsScreen != null) { controlsScreen.Draw(spriteBatch); } break; case Screen.GameoverScreen: if (gameoverScreen != null) { gameoverScreen.Draw(spriteBatch); } break; } spriteBatch.End(); base.Draw(gameTime); }