protected override void Update(GameTime gameTime) { MouseState mouseState = Mouse.GetState(); //Initialise gamePadState gamePadState = GamePad.GetState(PlayerIndex.One); gamePadState2 = GamePad.GetState(PlayerIndex.Two); //Update cursor for 360 controller input if (gamePadState.ThumbSticks.Left.X > 0.0f) { xbCursorX += 5; } if (gamePadState.ThumbSticks.Left.X < 0.0f) { xbCursorX -= 5; } if (gamePadState.ThumbSticks.Left.Y > 0.0f) { xbCursorY -= 5; } if (gamePadState.ThumbSticks.Left.Y < 0.0f) { xbCursorY += 5; } if (gamePadState.Buttons.Back == ButtonState.Pressed) { //omg nothing } if (clickEnabled) { #if WINDOWS if (mouseState.LeftButton == ButtonState.Pressed) { switch (gameState) { case (int)State.Menu: menu.Click(mouseState, ref gameState); break; case (int)State.Instructions: instructions.Click(mouseState, ref gameState); break; case (int)State.Game: board.Click(mouseState); break; case (int)State.Credits: credits.Click(ref gameState); break; case (int)State.AIGame: aiBoard.Click(mouseState); break; case (int)State.Othello: othello.Click(mouseState); break; } clickEnabled = false; } #endif #if XBOX /* * XBOX port code * * * * Modified/Created by: Miles Aurbeck * May 06 2009 */ if (Game.previousGamePadState.Buttons.A == ButtonState.Pressed && Game.gamePadState.Buttons.A == ButtonState.Released) { switch (gameState) { case (int)State.Menu: menu.aButtClick(ref gameState); break; case (int)State.Instructions: instructions.aButtClick(ref gameState); break; case (int)State.Game: board.aButtClick(); break; case (int)State.Credits: credits.Click(ref gameState); break; case (int)State.AIGame: aiBoard.Click(mouseState); break; case (int)State.Othello: othello.Click(mouseState); break; } clickEnabled = false; } #endif } else { #if WINDOWS if (mouseState.LeftButton == ButtonState.Released) { clickEnabled = true; } #endif #if XBOX /* * XBOX port code * * * * Modified/Created by: Miles Aurbeck * May 06 2009 */ if (Game.previousGamePadState.Buttons.A == ButtonState.Released) { clickEnabled = true; } #endif } // Find which update logic to perform switch (gameState) { case (int)State.Menu: menu.Update(gameTime, ref gameState); break; case (int)State.Instructions: instructions.Update(gameTime, ref gameState); break; case (int)State.Game: board.Update(gameTime, ref gameState); break; case (int)State.Credits: credits.Update(gameTime, ref gameState); break; case (int)State.Othello: othello.Update(gameTime, ref gameState); break; case (int)State.AIGame: aiBoard.Update(gameTime, ref gameState); break; } // Quit the game if told to do so if (gameState == (int)State.Quit) { this.Exit(); } previousGamePadState = gamePadState; base.Update(gameTime); }