/// <summary> /// Responds to user input, accepting or cancelling the message box. /// </summary> public override void HandleInput(InputHelper input, GameTime gameTime) { if (input.IsMenuSelect() || input.IsMenuCancel() || input.IsNewMouseButtonPress(MouseButtons.LeftButton)) { ExitScreen(); } }
public override void HandleInput(InputHelper input, GameTime gameTime) { if (input.KeyboardState.GetPressedKeys().Length > 0 || input.GamePadState.IsButtonDown(Buttons.A | Buttons.Start | Buttons.Back) || input.MouseState.LeftButton == ButtonState.Pressed) { _duration = TimeSpan.Zero; } }
/// <summary> /// Constructs a new screen manager component. /// </summary> public ScreenManager(Game game) : base(game) { // we must set EnabledGestures before we can query for them, but // we don't assume the game wants to read them. TouchPanel.EnabledGestures = GestureType.None; _contentManager = game.Content; _contentManager.RootDirectory = "Content"; _input = new InputHelper(this); _screens = new List<GameScreen>(); _screensToUpdate = new List<GameScreen>(); _transitions = new List<RenderTarget2D>(); }
/// <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(InputHelper input, GameTime gameTime) { }
/// <summary> /// Responds to user input, changing the selected entry and accepting /// or cancelling the menu. /// </summary> public override void HandleInput(InputHelper input, GameTime gameTime) { // Mouse or touch on a menu item int hoverIndex = GetMenuEntryAt(input.Cursor); if (hoverIndex > -1 && _menuEntries[hoverIndex].IsSelectable() && !_scrollLock) { _selectedEntry = hoverIndex; } else { _selectedEntry = -1; } _scrollSlider.Hover = false; if (input.IsCursorValid) { _scrollUp.Collide(input.Cursor); _scrollDown.Collide(input.Cursor); _scrollSlider.Collide(input.Cursor); } else { _scrollUp.Hover = false; _scrollDown.Hover = false; _scrollLock = false; } // Accept or cancel the menu? if (input.IsMenuSelect() && _selectedEntry != -1) { if (_menuEntries[_selectedEntry].IsExitItem()) { ScreenManager.Game.Exit(); } else if (_menuEntries[_selectedEntry].Screen != null) { ScreenManager.AddScreen(_menuEntries[_selectedEntry].Screen); if (_menuEntries[_selectedEntry].Screen is IDemoScreen) { ScreenManager.AddScreen( new MessageBoxScreen((_menuEntries[_selectedEntry].Screen as IDemoScreen).GetDetails())); } } } else if (input.IsMenuCancel()) { ScreenManager.Game.Exit(); } if (input.IsMenuPressed()) { if (_scrollUp.Hover) { _menuOffset = Math.Max(_menuOffset - 200f * (float)gameTime.ElapsedGameTime.TotalSeconds, 0f); _scrollLock = false; } if (_scrollDown.Hover) { _menuOffset = Math.Min(_menuOffset + 200f * (float)gameTime.ElapsedGameTime.TotalSeconds, _maxOffset); _scrollLock = false; } if (_scrollSlider.Hover) { _scrollLock = true; } } if (input.IsMenuReleased()) { _scrollLock = false; } if (_scrollLock) { _scrollSlider.Hover = true; _menuOffset = Math.Max(Math.Min(((input.Cursor.Y - _menuBorderTop) / (_menuBorderBottom - _menuBorderTop)) * _maxOffset, _maxOffset), 0f); } }
public override void HandleInput(InputHelper input, GameTime gameTime) { ///////////////////////////////////////// //TODO: Dont fire unless has been touched ///////////////////////////////////////// HookPoint h = input.GetClosestHookPoint(); if (h != null) { /////////////////////// //Connect to new point /////////////////////// World.RemoveJoint(joint1); /////////////////////////////// //TODO: Find next closest point //connect to that point /////////////////////////////// joint1 = JointFactory.CreateSliderJoint(World, swingerbody, fixture2.Body, Vector2.Zero, Vector2.Zero, 4, 5); } base.HandleInput(input, gameTime); }