protected override void Update(GameTime gameTime) { // Allows the game to exit if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) this.Exit(); for (int i = 0; i < menuItem.Length; i++) { menuItem[i].Selected = false; } KeyboardState kb = Keyboard.GetState(); if (!GameStarted) { if ((kb.IsKeyDown(Keys.Up)) && (oldState.IsKeyUp(Keys.Up))) { selectedItem -= 1; if (selectedItem == -1) { selectedItem = menuItem.Length - 1; } } if ((kb.IsKeyDown(Keys.Down)) && (oldState.IsKeyUp(Keys.Down))) { selectedItem += 1; if (selectedItem == menuItem.Length) { selectedItem = 0; } } if ((kb.IsKeyDown(Keys.Enter)) && (oldState.IsKeyUp(Keys.Space))) { if (menuItem[selectedItem].Name == "Exit") { Exit(); } if (menuItem[selectedItem].Name == "Start") { GameStart(); } } } if (kb.IsKeyUp(Keys.Escape) && oldState.IsKeyDown(Keys.Escape)) { this.Exit(); } if (kb.IsKeyUp(Keys.OemMinus) && oldState.IsKeyDown(Keys.OemMinus)) { this.console.Show(); // ConsoleActive = !ConsoleActive; } // position the console MouseState mouse = Mouse.GetState(); if (mouse.LeftButton == ButtonState.Pressed) { this.console.Left = mouse.X; this.console.Top = mouse.Y; } if (mouse.RightButton == ButtonState.Pressed) { this.console.Width = mouse.X - this.console.Left; this.console.Height = mouse.Y - this.console.Top; } menuItem[selectedItem].Selected = true; oldState = kb; if ((GameStarted) && (!this.console.IsVisible)) { UpdatePlayerPosition(gameTime); } base.Update(gameTime); }