/// <summary> /// Handles an input event when this item is selected. /// </summary> /// <param name="menu">The source <see cref="UIMenu"/> for this event.</param> /// <param name="control">The input control to handle.</param> /// <returns><c>true</c> if the input was consumed, such that the source <paramref name="menu"/> may not use it again; otherwise, <c>false</c>.</returns> /// <exception cref="ArgumentNullException"><paramref name="menu"/> is <c>null</c>.</exception> protected internal virtual bool OnInput(UIMenu menu, Common.MenuControls control) { if (menu == null) { throw new ArgumentNullException(nameof(menu)); } bool consumed = false; switch (control) { case Common.MenuControls.Select: consumed = true; if (!Enabled) { Common.PlaySound(menu.AUDIO_ERROR, menu.AUDIO_LIBRARY); break; } Common.PlaySound(menu.AUDIO_SELECT, menu.AUDIO_LIBRARY); Activate(menu); menu.OpenChildMenu(this); break; } return(consumed); }
protected internal override bool OnInput(UIMenu menu, Common.MenuControls control) { bool consumed = base.OnInput(menu, control); if (ScrollingEnabled && Enabled) { switch (control) { case Common.MenuControls.Left: consumed = true; if ((Collection == null ? Items.Count : Collection.Count) != 0) { Index--; Common.PlaySound(menu.AUDIO_LEFTRIGHT, menu.AUDIO_LIBRARY); menu.ListChange(this, Index); ListChangedTrigger(Index); } break; case Common.MenuControls.Right: consumed = true; if ((Collection == null ? Items.Count : Collection.Count) != 0) { Index++; Common.PlaySound(menu.AUDIO_LEFTRIGHT, menu.AUDIO_LIBRARY); menu.ListChange(this, Index); ListChangedTrigger(Index); } break; } } return(consumed); }
protected internal override bool OnInput(UIMenu menu, Common.MenuControls control) { bool consumed = base.OnInput(menu, control); switch (control) { case Common.MenuControls.Select when Enabled: consumed = true; Toggle(menu); break; } return(consumed); }
public void ResetKey(Common.MenuControls menuControl) { InternalList.ForEach(m => m.ResetKey(menuControl)); }
public void SetKey(Common.MenuControls menuControl, Keys control) { InternalList.ForEach(m => m.SetKey(menuControl, control)); }
public void SetKey(Common.MenuControls menuControl, GameControl control, int controllerIndex) { InternalList.ForEach(m => m.SetKey(menuControl, control, controllerIndex)); }