public override void HandleInput(InputState input) { if (input.IsMenuUp(GamerOne.PlayerIndex)) { selectedEntry--; if (selectedEntry < 0) selectedEntry = menuEntries.Count - 1; } if (input.IsMenuDown(GamerOne.PlayerIndex)) { selectedEntry++; if (selectedEntry >= menuEntries.Count) selectedEntry = 0; } PlayerIndex playerIndex; if (input.IsMenuSelect(GamerOne.PlayerIndex, out playerIndex)) { OnSelectEntry(selectedEntry, playerIndex); } else if (input.IsMenuCancel(GamerOne.PlayerIndex, out playerIndex)) { OnCancel(playerIndex); } SelectedEntry = selectedEntry; }
public override void HandleInput(InputState input) { PlayerIndex playerIndex; if (input.IsMenuSelect(ControllingPlayer, out playerIndex)) { if (Accepted != null) Accepted(this, new PlayerIndexEventArgs(playerIndex)); ExitScreen(); } else if (input.IsMenuCancel(ControllingPlayer, out playerIndex)) { if (Cancelled != null) Cancelled(this, new PlayerIndexEventArgs(playerIndex)); ExitScreen(); } }
public override void HandleInput(InputState input) { int playerIndex = (int)ControllingPlayer.Value; if (input.CurrentGamePadStates[playerIndex].Buttons.A == ButtonState.Pressed && input.PreviousGamePadStates[playerIndex].Buttons.A == ButtonState.Released && scrollScreen) { scrollScreen = false; } else if (input.CurrentGamePadStates[playerIndex].Buttons.A == ButtonState.Pressed && input.PreviousGamePadStates[playerIndex].Buttons.A == ButtonState.Released && !scrollScreen) { scrollScreen = true; } else if (input.CurrentGamePadStates[playerIndex].Buttons.B == ButtonState.Pressed && input.PreviousGamePadStates[playerIndex].Buttons.B == ButtonState.Released) { this.ExitScreen(); } base.HandleInput(input); }
public override void HandleInput(InputState input) { if (!gamerSelected) { for (int i = 0; i < InputState.MaxInputs; i++) { if (input.CurrentGamePadStates[i].IsButtonDown(Buttons.Start) == true && input.PreviousGamePadStates[i].IsButtonUp(Buttons.Start) == true) { gamerOne = Gamer.SignedInGamers[(PlayerIndex)i]; gamerSelected = true; if (gamerOne == null) { if (!Guide.IsVisible) { Guide.ShowSignIn(1, false); } } } } } }
/// <summary> /// Check for input /// </summary> /// <param name="input">grabs the values from InputState</param> public override void HandleInput(InputState input) { if (input == null) throw new ArgumentNullException("input"); //did you disconnect? //Switch this to two players if we want both players to be able to pause #region IsPlayerControllerDisconnectedOrOutOfBatteries? GamePadState gamePadState = input.CurrentGamePadStates[(int)GamerOne.PlayerIndex]; bool gamePadDisconnected = !gamePadState.IsConnected && input.GamePadWasConnected[(int)GamerOne.PlayerIndex]; //...if so then pause and wait if (input.IsPauseGame(GamerOne.PlayerIndex) || gamePadDisconnected) { ScreenManager.AddScreen(new PauseMenuScreen(player.score, LevelOn, player.checkPoint, LevelName), GamerOne.PlayerIndex); } #endregion #region Move Left and Right player.velocity.X = input.CurrentGamePadStates[(int)GamerOne.PlayerIndex].ThumbSticks.Left.X * movementAcceleration; if (player.velocity.X > 0.0f && player.velocity.X < 1.0f) { player.velocity.X = 1.0f; } if (player.velocity.X < 0.0f && player.velocity.X > -1.0f) { player.velocity.X = -1.0f; } #endregion #region Fly/Jump //if we press and hold A then velocity is applied, or its just 0 //if we press and hold A and still flying energy then we fly, or we just float on down due to gravity but the flying energy doesn't replenish unless we've hit something if (input.CurrentGamePadStates[(int)GamerOne.PlayerIndex].IsButtonDown(Buttons.A) && flyingAllowed) { player.velocity.Y = -5; flyingBarScale = -5; gravityAcceleration = 2; } else { player.velocity.Y = 0; flyingBarScale = 0; gravityAcceleration = 2; } #endregion refInput = input; }
public virtual void HandleInput(InputState input) { }