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); } } }
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); }