Пример #1
0
        public bool GetState(TBXInputButton button, GamepadReading gamepadState)
        {
            switch (button)
            {
            case TBXInputButton.ButtonA:
                return(GamepadButtons.A == (gamepadState.Buttons & GamepadButtons.A));

            case TBXInputButton.ButtonB:
                return(GamepadButtons.B == (gamepadState.Buttons & GamepadButtons.B));

            case TBXInputButton.ButtonX:
                return(GamepadButtons.X == (gamepadState.Buttons & GamepadButtons.X));

            case TBXInputButton.ButtonY:
                return(GamepadButtons.Y == (gamepadState.Buttons & GamepadButtons.Y));

            case TBXInputButton.LeftStick:
                return(GamepadButtons.LeftThumbstick == (gamepadState.Buttons & GamepadButtons.LeftThumbstick));

            case TBXInputButton.RightStick:
                return(GamepadButtons.RightThumbstick == (gamepadState.Buttons & GamepadButtons.RightThumbstick));

            case TBXInputButton.DpadUp:
                return(GamepadButtons.DPadUp == (gamepadState.Buttons & GamepadButtons.DPadUp));

            case TBXInputButton.DpadRight:
                return(GamepadButtons.DPadRight == (gamepadState.Buttons & GamepadButtons.DPadRight));

            case TBXInputButton.DpadDown:
                return(GamepadButtons.DPadDown == (gamepadState.Buttons & GamepadButtons.DPadDown));

            case TBXInputButton.DpadLeft:
                return(GamepadButtons.DPadLeft == (gamepadState.Buttons & GamepadButtons.DPadLeft));

            case TBXInputButton.Back:
                return(GamepadButtons.View == (gamepadState.Buttons & GamepadButtons.View));

            case TBXInputButton.Start:
                return(GamepadButtons.Menu == (gamepadState.Buttons & GamepadButtons.Menu));

            case TBXInputButton.RightBumper:
                return(GamepadButtons.RightShoulder == (gamepadState.Buttons & GamepadButtons.RightShoulder));

            case TBXInputButton.LeftBumper:
                return(GamepadButtons.LeftShoulder == (gamepadState.Buttons & GamepadButtons.LeftShoulder));

            case TBXInputButton.LeftTrigger:
                return(gamepadState.LeftTrigger > 0);

            case TBXInputButton.RightTrigger:
                return(gamepadState.RightTrigger > 0);

            default:
                TBLogging.LogWarning("Could not find requested Windows Input type.");
                return(false);
            }
        }
Пример #2
0
 public override bool ResolveButton(TBXInputButton button, TBInput.Controller controller)
 {
     if (GetState(button, _reading))
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Пример #3
0
 public override bool ResolveButton(TBXInputButton button, TBInput.Controller controller)
 {
     if (GetState(button, _state) == ButtonState.Pressed)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Пример #4
0
        public override Vector2 ResolveAxis2D(TBXInputButton button, TBInput.Controller controller)
        {
            switch (button)
            {
            case TBXInputButton.LeftStick:
                return(new Vector2((float)_reading.LeftThumbstickX, (float)_reading.LeftThumbstickY));

            case TBXInputButton.RightStick:
                return(new Vector2((float)_reading.RightThumbstickX, (float)_reading.RightThumbstickY));

            default:
                return(Vector2.zero);
            }
        }
Пример #5
0
        public override float ResolveAxis1D(TBXInputButton button, TBInput.Controller controller)
        {
            switch (button)
            {
            case TBXInputButton.LeftTrigger:
                return((float)_reading.LeftTrigger);

            case TBXInputButton.RightTrigger:
                return((float)_reading.RightTrigger);

            default:
                return(0);
            }
        }
Пример #6
0
        public override Vector2 ResolveAxis2D(TBXInputButton button, TBInput.Controller controller)
        {
            switch (button)
            {
            case TBXInputButton.LeftStick:
                return(new Vector2(_state.ThumbSticks.Left.X, _state.ThumbSticks.Left.Y));

            case TBXInputButton.RightStick:
                return(new Vector2(_state.ThumbSticks.Right.X, _state.ThumbSticks.Right.Y));

            default:
                return(Vector2.zero);
            }
        }
Пример #7
0
        public override float ResolveAxis1D(TBXInputButton button, TBInput.Controller controller)
        {
            switch (button)
            {
            case TBXInputButton.LeftTrigger:
                return(_state.Triggers.Left);

            case TBXInputButton.RightTrigger:
                return(_state.Triggers.Right);

            default:
                return(0);
            }
        }
Пример #8
0
        public ButtonState GetState(TBXInputButton button, GamePadState gamepadState)
        {
            switch (button)
            {
            case TBXInputButton.ButtonA:
                return(gamepadState.Buttons.A);

            case TBXInputButton.ButtonB:
                return(gamepadState.Buttons.B);

            case TBXInputButton.ButtonX:
                return(gamepadState.Buttons.X);

            case TBXInputButton.ButtonY:
                return(gamepadState.Buttons.Y);

            case TBXInputButton.LeftStick:
                return(gamepadState.Buttons.LeftStick);

            case TBXInputButton.RightStick:
                return(gamepadState.Buttons.RightStick);

            case TBXInputButton.DpadUp:
                return(gamepadState.DPad.Up);

            case TBXInputButton.DpadRight:
                return(gamepadState.DPad.Right);

            case TBXInputButton.DpadDown:
                return(gamepadState.DPad.Down);

            case TBXInputButton.DpadLeft:
                return(gamepadState.DPad.Left);

            case TBXInputButton.Back:
                return(gamepadState.Buttons.Back);

            case TBXInputButton.Guide:
                return(gamepadState.Buttons.Guide);

            case TBXInputButton.Start:
                return(gamepadState.Buttons.Start);

            case TBXInputButton.RightBumper:
                return(gamepadState.Buttons.RightShoulder);

            case TBXInputButton.LeftBumper:
                return(gamepadState.Buttons.LeftShoulder);

            case TBXInputButton.LeftTrigger:
                if (gamepadState.Triggers.Left > 0)
                {
                    return(ButtonState.Pressed);
                }
                else
                {
                    return(ButtonState.Released);
                }

            case TBXInputButton.RightTrigger:
                if (gamepadState.Triggers.Right > 0)
                {
                    return(ButtonState.Pressed);
                }
                else
                {
                    return(ButtonState.Released);
                }

            default:
                TBLogging.LogWarning("Could not find requested XInput type.");
                return(ButtonState.Released);
            }
        }