Exemplo n.º 1
0
        public void TestDPadConversion()
        {
            Assert.Equal(Direction.Right, GameControllerUtils.ButtonsToDirection(GamePadButton.PadRight));
            Assert.Equal(Direction.Left, GameControllerUtils.ButtonsToDirection(GamePadButton.PadLeft));
            Assert.Equal(Direction.None, GameControllerUtils.ButtonsToDirection(GamePadButton.None));
            Assert.Equal(GamePadButton.PadRight, GameControllerUtils.DirectionToButtons(Direction.Right));
            Assert.Equal(GamePadButton.PadLeft, GameControllerUtils.DirectionToButtons(Direction.Left));
            Assert.Equal(GamePadButton.None, GameControllerUtils.DirectionToButtons(Direction.None));

            // Test rounding
            Assert.Equal(GamePadButton.PadUp, GameControllerUtils.DirectionToButtons(Direction.FromTicks(99, 100)));
            Assert.Equal(GamePadButton.PadUp, GameControllerUtils.DirectionToButtons(Direction.FromTicks(1, 100)));
            Assert.Equal(GamePadButton.PadDown, GameControllerUtils.DirectionToButtons(Direction.FromTicks(49, 100)));
            Assert.Equal(GamePadButton.PadDown, GameControllerUtils.DirectionToButtons(Direction.FromTicks(51, 100)));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Returns the value of a direction controller converted to a <see cref="GamePadButton"/> which has the matching Pad flags set
        /// </summary>
        /// <param name="device">The gamepad</param>
        /// <param name="index">The index of the direction controller</param>
        /// <returns></returns>
        public static GamePadButton GetDPad(this IGameControllerDevice device, int index)
        {
            var dir = device.GetDirection(index);

            return(dir.IsNeutral ? GamePadButton.None : GameControllerUtils.DirectionToButtons(dir));
        }