public override void HandleInput(InputState input) { // cancel the current screen if the user presses the back button PlayerIndex player; if (input.IsNewButtonPress(Buttons.Back, null, out player)) { ExitScreen(); } RootControl.HandleInput(input); base.HandleInput(input); }
public override void HandleInput(InputState input) { if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) { MessageBoxScreen alert = new MessageBoxScreen("Warnning"); alert.ok.Selected += alertOk; alert.cancel.Selected += alertCancel; ScreenManager.AddScreen(alert, null); } else base.HandleInput(input); }
/// <summary> /// Allows the screen to handle user input. Unlike Update, this method /// is only called when the screen is active, and not when some other /// screen has taken the focus. /// </summary> public virtual void HandleInput(InputState input) { }
public override void HandleInput(InputState input) { // cancel the current screen if the user presses the back button bool pressedGoButton = false; foreach (GestureSample gesture in input.Gestures) { if (gesture.GestureType == GestureType.Tap) { //start new game if (GetButtonHitBounds(buttonGo).Contains(new Point((int)gesture.Position.X, (int)gesture.Position.Y))) { buttonGo.OnSelectEntry(); pressedGoButton = true; } } } if (!pressedGoButton) base.HandleInput(input); }
/// <summary> /// Responds to user input, changing the selected entry and accepting /// or cancelling the menu. /// </summary> public override void HandleInput(InputState input) { // we cancel the current menu screen if the user presses the back button PlayerIndex player; if (input.IsNewButtonPress(Buttons.Back, ControllingPlayer, out player)) { OnCancel(player); } // look for any taps that occurred and select any entries that were tapped foreach (GestureSample gesture in input.Gestures) { if (gesture.GestureType == GestureType.Tap) { // convert the position to a Point that we can test against a Rectangle Point tapLocation = new Point((int)gesture.Position.X, (int)gesture.Position.Y); // iterate the entries to see if any were tapped for (int i = 0; i < menuEntries.Count; i++) { MenuEntry menuEntry = menuEntries[i]; Rectangle a = GetMenuEntryHitBounds(menuEntry); //Debug.WriteLine("menu:x:"+a.X.ToString()+"y:"+a.Y.ToString()+"width:"+a.Width.ToString()+"height:"+a.Height+"pt:"+tapLocation.X.ToString()+"|"+tapLocation.Y.ToString()); if (GetMenuEntryHitBounds(menuEntry).Contains(tapLocation)) { // select the entry. since gestures are only available on Windows Phone, // we can safely pass PlayerIndex.One to all entries since there is only // one player on Windows Phone. OnSelectEntry(i, PlayerIndex.One); } } } } }