Example #1
0
        public void OnGamepadButtonsPressed(Buttons GamepadButtons)
        {
            //  Handle closing the menu
            if (GamepadControls.IsMatch(GamepadButtons, GamepadControls.Current.CloseBag))
            {
                if (IsShowingModalMenu && CustomizeIconBounds != null)
                {
                    CloseModalMenu();
                }
                else
                {
                    Bag.CloseContents();
                }
                return;
            }

            //  Handle modifier buttons
            if (GamepadControls.IsMatch(GamepadButtons, GamepadControls.Current.TransferMultipleModifier))
            {
                IsTransferMultipleModifierHeld = true;
            }
            if (GamepadControls.IsMatch(GamepadButtons, GamepadControls.Current.TransferHalfModifier))
            {
                IsTransferHalfModifierHeld = true;
            }

            if (!IsGamepadFocused && !InventoryMenu.IsGamepadFocused && !Content.IsGamepadFocused)
            {
                InventoryMenu.IsGamepadFocused = true;
            }

            if (IsGamepadFocused && !RecentlyGainedFocus)
            {
                if (!GamepadControls.HandleNavigationButtons(this, GamepadButtons, HoveredButtonBounds))
                {
                    this.IsGamepadFocused = false;
                }

                //  Handle action buttons
                if (GamepadControls.IsMatch(GamepadButtons, GamepadControls.Current.PrimaryAction))
                {
                    HandlePrimaryAction();
                }
                if (GamepadControls.IsMatch(GamepadButtons, GamepadControls.Current.SecondaryAction))
                {
                    HandleSecondaryAction();
                }
            }

            if (IsShowingModalMenu && CustomizeIconMenu != null)
            {
                //TODO
            }

            InventoryMenu.OnGamepadButtonsPressed(GamepadButtons);
            Content.OnGamepadButtonsPressed(GamepadButtons);
        }