示例#1
0
        public override void Update(GameTime gameTime)
        {
            base.Update(gameTime);
            if ((PlayerControls.MouseLeftPressed() && DownArrowBoundingRect().Contains(PlayerControls.MousePosition())))
            {
                currentlySelectedButtonIndex++;
                if (currentlySelectedButtonIndex > buttonList.Count - 1)
                {
                    currentlySelectedButtonIndex = buttonList.Count - 1;
                }
            }
            if ((PlayerControls.MouseLeftPressed() && UpArrowBoundingRect().Contains(PlayerControls.MousePosition())))
            {
                currentlySelectedButtonIndex--;
                if (currentlySelectedButtonIndex < 0)
                {
                    currentlySelectedButtonIndex = 0;
                }
            }

            while (buttonList[currentlySelectedButtonIndex].position.Y + buttonSize.Y > ContentRect().Y + ContentRect().Size.Y)
            {
                ScrollDown();
            }
            while (buttonList[currentlySelectedButtonIndex].position.Y < ContentRect().Y)
            {
                ScrollUp();
            }

            scrolledToTop    = (buttonList[0].position.Y >= ContentRect().Y);
            scrolledToBottom = (buttonList[buttonList.Count - 1].position.Y + buttonSize.Y <= ContentRect().Y + ContentRect().Size.Y);
        }
        public override void Update(GameTime gameTime)
        {
            bool inGame = Globals.gameInstance.gameState == GameState.inGame;

            if (selected)
            {
                if (GlobalControls.MenuLeftPressed())
                {
                    value -= valueIncrement;
                    if (value < 0)
                    {
                        value = 0.0f;
                    }
                    if (soundEffectOnSliderChange)
                    {
                        Globals.soundEffectsManager.PlaySoundEffect(SoundEffects.MenuSlider, false, SoundEffectsManager.zeroPanVectorLocation);
                    }
                }

                if (GlobalControls.MenuRightPressed())
                {
                    value += valueIncrement;
                    if (value > 1)
                    {
                        value = 1.0f;
                    }
                    if (soundEffectOnSliderChange)
                    {
                        Globals.soundEffectsManager.PlaySoundEffect(SoundEffects.MenuSlider, false, SoundEffectsManager.zeroPanVectorLocation);
                    }
                }

                if (PlayerControls.MouseLeftPressed() && BoundingRect().Contains(PlayerControls.MousePosition()))
                {
                    mouseChangingValue = true;
                }

                if (mouseChangingValue && PlayerControls.MouseLeftDown())
                {
                    value = (PlayerControls.MousePosition().X - position.X) / size.X;
                    if (value < 0)
                    {
                        value = 0;
                    }
                    else if (value > 1)
                    {
                        value = 1;
                    }
                }
                else
                {
                    if (mouseChangingValue && soundEffectOnSliderChange)
                    {
                        Globals.soundEffectsManager.PlaySoundEffect(SoundEffects.MenuSlider, false, SoundEffectsManager.zeroPanVectorLocation);
                    }
                    mouseChangingValue = false;
                }
            }
        }
示例#3
0
 public override void Update(GameTime gameTime)
 {
     if (selected && menuScreen != null && enabled && inScrollView &&
         ((PlayerControls.MouseLeftPressed() && BoundingRect().Contains(PlayerControls.MousePosition())) ||
          GlobalControls.ConfirmPressed() || PlayerControls.ConfirmPressed(ControlsConfig.keyboardControllerIndex)))
     {
         SelectionClicked();
         menuScreen.ButtonClicked(this);
         Globals.soundEffectsManager.PlaySoundEffect(SoundEffects.MenuConfirm, false, SoundEffectsManager.zeroPanVectorLocation);
     }
 }
 public override void Update(GameTime gameTime)
 {
     if (selected && menuScreen != null && enabled && inScrollView)
     {
         if (((PlayerControls.MouseLeftPressed() && RightArrowBoundingRect().Contains(PlayerControls.MousePosition())) ||
              GlobalControls.MenuRightPressed() || PlayerControls.MenuRightPressed(ControlsConfig.keyboardControllerIndex)))
         {
             RightArrowPressed();
         }
         if (((PlayerControls.MouseLeftPressed() && LeftArrowBoundingRect().Contains(PlayerControls.MousePosition())) ||
              GlobalControls.MenuLeftPressed() || PlayerControls.MenuLeftPressed(ControlsConfig.keyboardControllerIndex)))
         {
             LeftArrowPressed();
         }
     }
 }
 public override void Update(GameTime gameTime)
 {
     if (!waitingForKeyPress)
     {
         base.Update(gameTime);
         if (GlobalControls.MenuLeftPressed() ||
             (PlayerControls.MouseLeftPressed() && LeftArrowBoundingRect().Contains(PlayerControls.MousePosition())))
         {
             selectionArrowColor = -3;
             DefaultControls.DecrementGamepadPreset(playerNumber);
             CheckToEnableButtons();
             UpdateNewControlsPreset();
         }
         else if (GlobalControls.MenuRightPressed() ||
                  (PlayerControls.MouseLeftPressed() && RightArrowBoundingRect().Contains(PlayerControls.MousePosition())))
         {
             selectionArrowColor = 3;
             DefaultControls.IncrementGamepadPreset(playerNumber);
             CheckToEnableButtons();
             UpdateNewControlsPreset();
         }
     }
     else
     {
         if (!waitingForAllKeysToBeUnpressed)
         {
             if (GamepadInputPressed())
             {
                 ((GamepadControlsMenuButton)buttonList[buttonIndexPressed]).SetNewInput(ButtonPressed());
                 waitingForKeyPress = false;
             }
         }
         else if (!GamepadInputPressed())
         {
             waitingForAllKeysToBeUnpressed = false;
         }
     }
 }