protected override void Draw(GameTime gameTime) { GraphicsDevice.Clear(Color.Black); switch (GameStateManager.currentState.ToLower()) { case "overworldstate": spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend, null, null, null, null, camera.GetTransformation()); break; case "shooterstate": case "introsecondstate": case "planetstate": case "stationstate": spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend); break; default: spriteBatch.Begin(); break; } stateManager.Draw(spriteBatch); missionManager.Draw(spriteBatch); tutorialManager.Draw(spriteBatch); if (!PopupHandler.TextBufferEmpty && !ZoomMap.IsMapOn) { popupHandler.Draw(spriteBatch); } else if (ZoomMap.IsMapOn) { ZoomMap.DrawOverlay(spriteBatch, stateManager.overworldState.GetZoomObjects); } helper.Draw(spriteBatch); beaconMenu.Draw(spriteBatch); if (showFPS && !ZoomMap.IsMapOn && !stateManager.overworldState.IsBurnOutEndingActivated) { if (GameStateManager.currentState == "OverworldState") { spriteBatch.DrawString(fontManager.GetFont(14), "Fps: " + fps.ToString(), new Vector2((camera.cameraPos.X + ScreenCenter.X) - fontManager.GetFont(14).MeasureString("Fps: " + fps.ToString()).X, camera.cameraPos.Y - ScreenCenter.Y) + fontManager.FontOffset, fontManager.FontColor, 0f, Vector2.Zero, 1f, SpriteEffects.None, 1f); } else { spriteBatch.DrawString(fontManager.GetFont(14), "Fps: " + fps.ToString(), new Vector2(Window.ClientBounds.Width - fontManager.GetFont(14).MeasureString("Fps: " + fps.ToString()).X, 0) + fontManager.FontOffset, fontManager.FontColor, 0f, Vector2.Zero, 1f, SpriteEffects.None, 1f); } } spriteBatch.End(); base.Draw(gameTime); }
protected override void Update(GameTime gameTime) { Window.Title = "The Sun Will Go Out"; //Window.Title = "Pos x: " + player.position.X + " Pos y: " + player.position.Y; if (IsActive) { ControlManager.Update(gameTime); //Toggles fullscreen on/off if (ControlManager.CurrentKeyboardState.IsKeyDown(Keys.LeftAlt) && ControlManager.CheckKeyPress(Keys.F)) { graphics.ToggleFullScreen(); graphics.ApplyChanges(); } //Checks if the player should be used if (GameStateManager.currentState == "OverworldState" || GameStateManager.currentState == "System1State" || GameStateManager.currentState == "System2State" || GameStateManager.currentState == "System3State") { player.IsUsed = true; } else { player.IsUsed = false; } if (!Paused) { if (player.IsUsed) { player.Update(gameTime); } stateManager.Update(gameTime); missionManager.Update(gameTime); tutorialManager.Update(gameTime); shopManager.Update(gameTime); } else if (ZoomMap.IsMapOn) { camera.CameraUpdate(gameTime, player); } soundEffectsManager.Update(gameTime); if (ControlManager.CheckPress(RebindableKeys.Map) && GameStateManager.currentState == "OverworldState" && !PopupHandler.IsMenuOpen) { ZoomMap.ToggleMap(); soundEffectsManager.StopSoundEffect(SoundEffects.OverworldEngine); } if (ZoomMap.IsMapOn) { ZoomMap.Update(gameTime, stateManager.overworldState.GetZoomObjects, camera); } popupHandler.Update(gameTime); helper.Update(gameTime); beaconMenu.Update(gameTime); fpsTimer -= gameTime.ElapsedGameTime.Milliseconds; if (fpsTimer <= 0) { fps = (float)Math.Round((1 / gameTime.ElapsedGameTime.TotalSeconds), 0); fpsTimer = 250; } if (ControlManager.CurrentKeyboardState.IsKeyDown(Keys.LeftAlt) && ControlManager.CheckKeyPress(Keys.M)) { musicManager.SwitchMusicMuted(); } menuBGController.Update(gameTime); base.Update(gameTime); } }