/// <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.Black); spriteBatch.Begin(); if (gameState == GameStates.TitleScreen) { spriteBatch.Draw(titleScreen, new Rectangle(0, 0, this.Window.ClientBounds.Width, this.Window.ClientBounds.Height), Color.White); } if ((gameState == GameStates.Playing) || (gameState == GameStates.PlayerDead) || (gameState == GameStates.GameOver)) { starField.Draw(spriteBatch); asteroidManager.Draw(spriteBatch); playerManager.Draw(spriteBatch); enemyManager.Draw(spriteBatch); explosionManager.Draw(spriteBatch); spriteBatch.DrawString( pericles14, "Score: " + playerManager.PlayerScore.ToString(), scoreLocation, Color.White); if (playerManager.LivesRemaining >= 0) { spriteBatch.DrawString( pericles14, "Ships Remaining: " + playerManager.LivesRemaining.ToString(), livesLocation, Color.White); } } if ((gameState == GameStates.GameOver)) { spriteBatch.DrawString( pericles14, "G A M E O V E R !", new Vector2( this.Window.ClientBounds.Width / 2 - pericles14.MeasureString("G A M E O V E R !").X / 2, 50), Color.White); } spriteBatch.End(); EffectManager.Draw(); base.Draw(gameTime); }
/// <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.Black); spriteBatch.Begin(); if (gameState == GameStates.TitleScreen) { spriteBatch.Draw(titleScreen, new Rectangle(0, 0, this.Window.ClientBounds.Width, this.Window.ClientBounds.Height), Color.White); } if (gameState == GameStates.DifficultySelect) { spriteBatch.Draw(levelScreen, new Rectangle(0, 0, this.Window.ClientBounds.Width, this.Window.ClientBounds.Height), Color.White); } if (gameState == GameStates.ccViewer) { spriteBatch.Draw(ccViewer, new Rectangle(0, 0, this.Window.ClientBounds.Width, this.Window.ClientBounds.Height), Color.White); } if (gameState == GameStates.CreditsScreen) { spriteBatch.Draw(credits, new Rectangle(0, 0, this.Window.ClientBounds.Width, this.Window.ClientBounds.Height), Color.White); } if ((gameState == GameStates.Playing) || (gameState == GameStates.PlayerDead) || (gameState == GameStates.GameOver)) { starField.Draw(spriteBatch); planetManager.Draw(spriteBatch); asteroidManager.Draw(spriteBatch); playerManager.Draw(spriteBatch); enemyManager.Draw(spriteBatch); explosionManager.Draw(spriteBatch); if (difficultyLevel != 9) { spriteBatch.DrawString( pericles14, "Score: " + playerManager.PlayerScore.ToString(), scoreLocation, Color.White); } if (playerManager.LivesRemaining >= 0) { spriteBatch.DrawString( pericles14, "Ships Remaining: " + (playerManager.LivesRemaining + 1).ToString(), livesLocation, Color.White); } if (difficultyLevel == 9) { //Added a timer playerTimePlayed += (float)gameTime.ElapsedGameTime.TotalSeconds; spriteBatch.DrawString( pericles14, "Score: " + ((int)playerTimePlayed * 100).ToString(), timerLocation, Color.White); } } if ((gameState == GameStates.GameOver)) { spriteBatch.DrawString( pericles14, "G A M E O V E R ! \nY O U A R E B A D!", new Vector2( this.Window.ClientBounds.Width / 2 - pericles14.MeasureString("G A M E O V E R !").X / 2, 50), Color.White); } spriteBatch.End(); EffectManager.Draw(); base.Draw(gameTime); }