Microsoft.Xna.Framework.Input.GamePad.ConvertToButtons C# (CSharp) Method

ConvertToButtons() private static method

private static ConvertToButtons ( SharpDX buttonFlags, short leftThumbX, short leftThumbY, short rightThumbX, short rightThumbY, byte leftTrigger, byte rightTrigger ) : Microsoft.Xna.Framework.Input.GamePadButtons
buttonFlags SharpDX
leftThumbX short
leftThumbY short
rightThumbX short
rightThumbY short
leftTrigger byte
rightTrigger byte
return Microsoft.Xna.Framework.Input.GamePadButtons
        private static GamePadButtons ConvertToButtons(SharpDX.XInput.GamepadButtonFlags buttonFlags,
            short leftThumbX, short leftThumbY,
            short rightThumbX, short rightThumbY,
            byte leftTrigger,
            byte rightTrigger)
        {
            var ret = (Buttons)0;
            ret |= AddButtonIfPressed(buttonFlags, GBF.A, Buttons.A);
            ret |= AddButtonIfPressed(buttonFlags, GBF.B, Buttons.B);
            ret |= AddButtonIfPressed(buttonFlags, GBF.Back, Buttons.Back);
            ret |= AddButtonIfPressed(buttonFlags, GBF.DPadDown, Buttons.DPadDown);
            ret |= AddButtonIfPressed(buttonFlags, GBF.DPadLeft, Buttons.DPadLeft);
            ret |= AddButtonIfPressed(buttonFlags, GBF.DPadRight, Buttons.DPadRight);
            ret |= AddButtonIfPressed(buttonFlags, GBF.DPadUp, Buttons.DPadUp);
            ret |= AddButtonIfPressed(buttonFlags, GBF.LeftShoulder, Buttons.LeftShoulder);
            ret |= AddButtonIfPressed(buttonFlags, GBF.RightShoulder, Buttons.RightShoulder);
            ret |= AddButtonIfPressed(buttonFlags, GBF.LeftThumb, Buttons.LeftStick);
            ret |= AddButtonIfPressed(buttonFlags, GBF.RightThumb, Buttons.RightStick);
            ret |= AddButtonIfPressed(buttonFlags, GBF.Start, Buttons.Start);
            ret |= AddButtonIfPressed(buttonFlags, GBF.X, Buttons.X);
            ret |= AddButtonIfPressed(buttonFlags, GBF.Y, Buttons.Y);

            ret |= AddThumbstickButtons(leftThumbX, leftThumbY,
                SharpDX.XInput.Gamepad.LeftThumbDeadZone,
                Buttons.LeftThumbstickLeft, 
                Buttons.LeftThumbstickRight, 
                Buttons.LeftThumbstickUp, 
                Buttons.LeftThumbstickDown);

            ret |= AddThumbstickButtons(rightThumbX, rightThumbY,
                SharpDX.XInput.Gamepad.RightThumbDeadZone,
                Buttons.RightThumbstickLeft, 
                Buttons.RightThumbstickRight, 
                Buttons.RightThumbstickUp, 
                Buttons.RightThumbstickDown);

            if (leftTrigger >= SharpDX.XInput.Gamepad.TriggerThreshold)
                ret |= Buttons.LeftTrigger;

            if (rightTrigger >= SharpDX.XInput.Gamepad.TriggerThreshold)
                ret |= Buttons.RightTrigger;

            // Check for the hardware back button.
            if (Back)
                ret |= Buttons.Back;

            return new GamePadButtons(ret);
        }

Usage Example

Example #1
0
        public static GamePadState GetState(PlayerIndex playerIndex, GamePadDeadZone deadZoneMode = GamePadDeadZone.IndependentAxes)
        {
            Controller controller = GamePad.GetController(playerIndex);

            if (!controller.IsConnected)
            {
                return(new GamePadState());
            }
            Gamepad            gamepad             = controller.GetState().Gamepad;
            GamePadThumbSticks gamePadThumbSticks1 = new GamePadThumbSticks(GamePad.ConvertThumbStick(gamepad.LeftThumbX, gamepad.LeftThumbY, (short)7849, deadZoneMode), GamePad.ConvertThumbStick(gamepad.RightThumbX, gamepad.RightThumbY, (short)8689, deadZoneMode));
            GamePadTriggers    gamePadTriggers1    = new GamePadTriggers((float)gamepad.LeftTrigger / (float)byte.MaxValue, (float)gamepad.RightTrigger / (float)byte.MaxValue);
            GamePadState       gamePadState;
            // ISSUE: explicit reference operation
            // ISSUE: variable of a reference type
            GamePadState&      local = @gamePadState;
            GamePadThumbSticks gamePadThumbSticks2 = gamePadThumbSticks1;
            GamePadTriggers    gamePadTriggers2    = gamePadTriggers1;
            GamePadButtons     gamePadButtons      = GamePad.ConvertToButtons(gamepad.Buttons, gamepad.LeftThumbX, gamepad.LeftThumbY, gamepad.RightThumbX, gamepad.RightThumbY, gamepad.LeftTrigger, gamepad.RightTrigger);
            GamePadDPad        gamePadDpad         = GamePad.ConvertToGamePadDPad(gamepad.Buttons);
            GamePadThumbSticks thumbSticks         = gamePadThumbSticks2;
            GamePadTriggers    triggers            = gamePadTriggers2;
            GamePadButtons     buttons             = gamePadButtons;
            GamePadDPad        dPad = gamePadDpad;