Ejemplo n.º 1
0
        public override void CheckState(ref Microsoft.DirectX.DirectInput.JoystickState controllerState)
        {
            int pos = 0;

            switch (SliderType)
            {
            case AxisType.X:
                pos = controllerState.X;
                break;

            case AxisType.Y:
                pos = controllerState.Y;
                break;

            case AxisType.Z:
                pos = controllerState.Z;
                break;

            case AxisType.RX:
                pos = controllerState.Rx;
                break;

            case AxisType.RY:
                pos = controllerState.Ry;
                break;

            case AxisType.RZ:
                pos = controllerState.Rz;
                break;

            case AxisType.EXT1:
                pos = controllerState.GetSlider()[0];
                break;

            case AxisType.EXT2:
                pos = controllerState.GetSlider()[1];
                break;

            default:
                throw new ApplicationException("Nieobsługiwana oś kontrolera.");
            }
            if (_position != pos)
            {
                _position = pos;
                if (Reverse)
                {
                    OnChangeValue(Max - (_position - Min));
                }
                else
                {
                    OnChangeValue(_position);
                }
            }
        }
Ejemplo n.º 2
0
        public override void FirstCheckState(ref Microsoft.DirectX.DirectInput.JoystickState controllerState)
        {
            int pos = 0;

            switch (SliderType)
            {
            case AxisType.X:
                pos = controllerState.X;
                break;

            case AxisType.Y:
                pos = controllerState.Y;
                break;

            case AxisType.Z:
                pos = controllerState.Z;
                break;

            case AxisType.RX:
                pos = controllerState.Rx;
                break;

            case AxisType.RY:
                pos = controllerState.Ry;
                break;

            case AxisType.RZ:
                pos = controllerState.Rz;
                break;

            case AxisType.EXT1:
                pos = controllerState.GetSlider()[0];
                break;

            case AxisType.EXT2:
                pos = controllerState.GetSlider()[1];
                break;

            default:
                throw new ApplicationException("Nieobsługiwana oś kontrolera.");
            }
            _position = -pos;
            CheckState(ref controllerState);
        }