Example #1
0
        /// <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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
 public void ResetKey(Common.MenuControls menuControl)
 {
     InternalList.ForEach(m => m.ResetKey(menuControl));
 }
Example #5
0
 public void SetKey(Common.MenuControls menuControl, Keys control)
 {
     InternalList.ForEach(m => m.SetKey(menuControl, control));
 }
Example #6
0
 public void SetKey(Common.MenuControls menuControl, GameControl control, int controllerIndex)
 {
     InternalList.ForEach(m => m.SetKey(menuControl, control, controllerIndex));
 }