public Main() { graphics = new GraphicsDeviceManager(this); graphics.PreferredBackBufferHeight = BackBufferHeight; graphics.PreferredBackBufferWidth = BackBufferWidth; Window.Title = "Pathfinding Profiler v1.0"; Content.RootDirectory = "content"; this.IsMouseVisible = true; // Set frame rate TargetElapsedTime = TimeSpan.FromTicks(TimeSpan.TicksPerSecond / TargetFrameRate); // Add Components menu = new ProfilerMenu(this); input = new InputHandler(this); levelHandler = new LevelHandler(this); GameUtils.AddUtil<GameComponentCollection>(Components); GameUtils.GetUtil<GameComponentCollection>().Add(menu); GameUtils.GetUtil<GameComponentCollection>().Add(input); GameUtils.GetUtil<GameComponentCollection>().Add(levelHandler); levelHandler.Enabled = false; levelHandler.Visible = false; SetState(typeof(ProfilerMenu)); }
public override void Update(GameTime gameTime) { level.Update(gameTime); if (Game.IsActive) { // Check if user wishes to return to menu if (InputHandler.IsKeyDown(Microsoft.Xna.Framework.Input.Keys.Escape)) { if (MessageBox.Show("Return to the menu?", "Return to Menu", MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Question) == DialogResult.Yes) { Main.SetState(typeof(ProfilerMenu)); SetBotPosition(new Coord2(0, 0)); SetPlayerPosition(new Coord2(1, 0)); } } // Check for mouse clicks if (InputHandler.IsMouseInWindow(GraphicsDevice.Viewport.Bounds)) { // Check for mouse clicks if (InputHandler.IsMouseButtonPressed(MouseButton.LeftButton) || InputHandler.IsMouseButtonPressed(MouseButton.RightButton)) { ClearAll(); Coord2 mp = new Coord2(InputHandler.MousePosition().X / level.Map.TileSize, InputHandler.MousePosition().Y / level.Map.TileSize); if (level.Map.ValidPosition(mp)) { if (InputHandler.IsMouseButtonPressed(MouseButton.LeftButton)) { if (level.Bot.GridPosition != mp) { level.SetPlayerPosition(mp); } } else { if (level.Player.GridPosition != mp) { level.SetBotPosition(mp); } } } } // Update mouse position mousePos = new Point(InputHandler.MousePosition().X / level.Map.TileSize, InputHandler.MousePosition().Y / level.Map.TileSize); } // Check for hide/show instructions if (InputHandler.IsKeyPressed(Microsoft.Xna.Framework.Input.Keys.Tab)) { showInstructions = !showInstructions; } } base.Update(gameTime); }