Exemplo n.º 1
0
        private bool IsThumbstickDirectionActive(ThumbstickDirection direction, Thumbstick thumbstick, FrameState state)
        {
            GamePadState gamepadState      = state == FrameState.Current ? CurrentGamePadState : LastGamePadState;
            Vector2      gamepadThumbstick = thumbstick == Thumbstick.Left ? gamepadState.ThumbSticks.Left : gamepadState.ThumbSticks.Right;
            bool         isActive          = false;

            switch (direction)
            {
            case ThumbstickDirection.Up:
                isActive = (gamepadThumbstick.Y >= thumbstickThreshold);
                break;

            case ThumbstickDirection.Down:
                isActive = (gamepadThumbstick.Y <= -thumbstickThreshold);
                break;

            case ThumbstickDirection.Left:
                isActive = (gamepadThumbstick.X <= -thumbstickThreshold);
                break;

            case ThumbstickDirection.Right:
                isActive = (gamepadThumbstick.X >= thumbstickThreshold);
                break;

            default:
                break;
            }

            return(isActive);
        }
 /// <summary>
 ///     Add a ThumbstickDirection binding that can be checked for state (Pressed, Released, Active)
 /// </summary>
 public static bool AddBinding(this InputManager inputManager, string bindingName,
                               ThumbstickDirection thumbstickDirection,
                               Thumbstick thumbstick, params InputBinding[] modifiers)
 {
     DefaultBinding inputBinding = new ThumbstickDirectionBinding(thumbstickDirection, thumbstick, modifiers);
     return inputManager.AddBinding(bindingName, inputBinding);
 }
Exemplo n.º 3
0
        protected void DrawThumbstick(SpriteBatch pSpriteBatch, ThumbstickDirection pDirection, Player pPlayer, float pAlpha)
        {
            Texture2D Thumbstick;

            switch (pDirection)
            {
            case ThumbstickDirection.Up:
                Thumbstick = ThumbstickUp;
                break;

            case ThumbstickDirection.Down:
                Thumbstick = ThumbstickDown;
                break;

            case ThumbstickDirection.Left:
                Thumbstick = ThumbstickLeft;
                break;

            case ThumbstickDirection.Right:
                Thumbstick = ThumbstickRight;
                break;

            case ThumbstickDirection.Rotate:
                Thumbstick = ThumbstickRotate;
                break;

            default:
                return;
            }
            pSpriteBatch.Draw(Thumbstick, pPlayer.SkeletonPosition + Hardcoded.ActI_OffsetThumbstick, Color.White * pAlpha);
        }
Exemplo n.º 4
0
        public void AddKeyBinding(string bindingName, ThumbstickDirection thumbstickDirection, Thumbstick thumbstick, params Modifier[] modifiers)
        {
            InputBinding inputBinding = new InputBinding();

            inputBinding.SetBinding(thumbstickDirection, thumbstick, modifiers);
            AddKeyBinding(bindingName, inputBinding);
        }
Exemplo n.º 5
0
 public ActivityInstruction()
 {
     LoadContent();
     Fading = new HudFading();
     ThumbstickDirHansel = ThumbstickDirection.None;
     ThumbstickDirGretel = ThumbstickDirection.None;
 }
Exemplo n.º 6
0
 public void SetBinding(ThumbstickDirection thumbstickDirection, Thumbstick thumbstick, params Modifier[] modifiers)
 {
     ClearBindings();
     this.ThumbstickDirection = thumbstickDirection;
     this.Thumbstick          = thumbstick;
     this.type = BindingType.ThumbstickDirection;
     SetModifiers(modifiers);
 }
Exemplo n.º 7
0
 public void SetThumbstickDir(Player pPlayer, ThumbstickDirection pDir)
 {
     if (pPlayer.GetType() == typeof(Hansel))
     {
         ThumbstickDirHansel = pDir;
     }
     else
     {
         ThumbstickDirGretel = pDir;
     }
 }
Exemplo n.º 8
0
        public InputBinding(BindingType type, params Modifier[] modifiers)
        {
            this.type           = type;
            ThumbstickDirection = ThumbstickDirection.None;
            MouseButton         = MouseButton.None;
            Thumbstick          = Thumbstick.None;
            Trigger             = Trigger.None;
            Key    = Keys.None;
            Button = Buttons.BigButton;

            SetModifiers(modifiers);
        }
Exemplo n.º 9
0
 public void SetThumbstickDirBoth(ThumbstickDirection pDir)
 {
     ThumbstickDirHansel = pDir;
     ThumbstickDirGretel = pDir;
 }
Exemplo n.º 10
0
 public void SetBinding(ThumbstickDirection thumbstickDirection, Thumbstick thumbstick, params Modifier[] modifiers)
 {
     ClearBindings();
     this.ThumbstickDirection = thumbstickDirection;
     this.Thumbstick = thumbstick;
     this.type = BindingType.ThumbstickDirection;
     SetModifiers(modifiers);
 }
Exemplo n.º 11
0
        public InputBinding(BindingType type, params Modifier[] modifiers)
        {
            this.type = type;
            ThumbstickDirection = ThumbstickDirection.None;
            MouseButton = MouseButton.None;
            Thumbstick = Thumbstick.None;
            Trigger = Trigger.None;
            Key = Keys.None;
            Button = Buttons.BigButton;

            SetModifiers(modifiers);
        }
Exemplo n.º 12
0
        private bool IsThumbstickDirectionActive(ThumbstickDirection direction, Thumbstick thumbstick, FrameState state)
        {
            GamePadState gamepadState = state == FrameState.Current ? CurrentGamePadState : LastGamePadState;
            Vector2 gamepadThumbstick = thumbstick == Thumbstick.Left ? gamepadState.ThumbSticks.Left : gamepadState.ThumbSticks.Right;
            bool isActive = false;
            switch (direction)
            {
                case ThumbstickDirection.Up:
                    isActive = (gamepadThumbstick.Y >= thumbstickThreshold);
                    break;
                case ThumbstickDirection.Down:
                    isActive = (gamepadThumbstick.Y <= -thumbstickThreshold);
                    break;
                case ThumbstickDirection.Left:
                    isActive = (gamepadThumbstick.X <= -thumbstickThreshold);
                    break;
                case ThumbstickDirection.Right:
                    isActive = (gamepadThumbstick.X >= thumbstickThreshold);
                    break;
                default:
                    break;
            }

            return isActive;
        }
Exemplo n.º 13
0
 public void AddKeyBinding(string bindingName, ThumbstickDirection thumbstickDirection, Thumbstick thumbstick, params Modifier[] modifiers)
 {
     InputBinding inputBinding = new InputBinding();
     inputBinding.SetBinding(thumbstickDirection, thumbstick, modifiers);
     AddKeyBinding(bindingName, inputBinding);
 }
Exemplo n.º 14
0
 public GamePadButtonState ThumbstickState(PlayerIndex pi, Thumbsticks t, ThumbstickDirection d, float val)
 {
     if (t == Thumbsticks.Left)
     {
         if (d == ThumbstickDirection.Left)
         {
             if (NewGamePadState[(int)pi].ThumbSticks.Left.X < -val)
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Left.X < -val)
                     return GamePadButtonState.Pressed;
                 else
                     return GamePadButtonState.JustPressed;
             }
             else
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Left.X < -val)
                     return GamePadButtonState.JustReleased;
                 else
                     return GamePadButtonState.Released;
             }
         }
         else if (d == ThumbstickDirection.Right)
         {
             if (NewGamePadState[(int)pi].ThumbSticks.Left.X > val)
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Left.X > val)
                     return GamePadButtonState.Pressed;
                 else
                     return GamePadButtonState.JustPressed;
             }
             else
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Left.X > val)
                     return GamePadButtonState.JustReleased;
                 else
                     return GamePadButtonState.Released;
             }
         }
         else if (d == ThumbstickDirection.Down)
         {
             if (NewGamePadState[(int)pi].ThumbSticks.Left.Y < -val)
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Left.Y < -val)
                     return GamePadButtonState.Pressed;
                 else
                     return GamePadButtonState.JustPressed;
             }
             else
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Left.Y < -val)
                     return GamePadButtonState.JustReleased;
                 else
                     return GamePadButtonState.Released;
             }
         }
         else
         {
             if (NewGamePadState[(int)pi].ThumbSticks.Left.Y > val)
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Left.Y > val)
                     return GamePadButtonState.Pressed;
                 else
                     return GamePadButtonState.JustPressed;
             }
             else
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Left.Y > val)
                     return GamePadButtonState.JustReleased;
                 else
                     return GamePadButtonState.Released;
             }
         }
     }
     else
     {
         if (d == ThumbstickDirection.Left)
         {
             if (NewGamePadState[(int)pi].ThumbSticks.Right.X < -val)
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Right.X < -val)
                     return GamePadButtonState.Pressed;
                 else
                     return GamePadButtonState.JustPressed;
             }
             else
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Right.X < -val)
                     return GamePadButtonState.JustReleased;
                 else
                     return GamePadButtonState.Released;
             }
         }
         else if (d == ThumbstickDirection.Right)
         {
             if (NewGamePadState[(int)pi].ThumbSticks.Right.X > val)
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Right.X > val)
                     return GamePadButtonState.Pressed;
                 else
                     return GamePadButtonState.JustPressed;
             }
             else
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Right.X > val)
                     return GamePadButtonState.JustReleased;
                 else
                     return GamePadButtonState.Released;
             }
         }
         else if (d == ThumbstickDirection.Down)
         {
             if (NewGamePadState[(int)pi].ThumbSticks.Right.Y < -val)
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Right.Y < -val)
                     return GamePadButtonState.Pressed;
                 else
                     return GamePadButtonState.JustPressed;
             }
             else
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Right.Y < -val)
                     return GamePadButtonState.JustReleased;
                 else
                     return GamePadButtonState.Released;
             }
         }
         else
         {
             if (NewGamePadState[(int)pi].ThumbSticks.Right.Y > val)
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Right.Y > val)
                     return GamePadButtonState.Pressed;
                 else
                     return GamePadButtonState.JustPressed;
             }
             else
             {
                 if (OldGamePadState[(int)pi].ThumbSticks.Right.Y > val)
                     return GamePadButtonState.JustReleased;
                 else
                     return GamePadButtonState.Released;
             }
         }
     }
 }
Exemplo n.º 15
0
 public ThumbstickDirectionBinding(ThumbstickDirection thumbstickDirection, Thumbstick thumbstick,
                                   params InputBinding[] modifiers)
     : base(modifiers)
 {
     Thumbstick = thumbstick;
     Direction = thumbstickDirection;
 }