Maze / Library /PackageCache /com.unity.inputsystem@1.6.1 /InputSystem /Plugins /XR /Haptics /GetCurrentHapticStateCommand.cs
| // ENABLE_VR is not defined on Game Core but the assembly is available with limited features when the XR module is enabled. | |
| using System.Runtime.InteropServices; | |
| using UnityEngine.InputSystem.LowLevel; | |
| using UnityEngine.InputSystem.Utilities; | |
| namespace UnityEngine.InputSystem.XR.Haptics | |
| { | |
| public struct HapticState | |
| { | |
| public HapticState(uint samplesQueued, uint samplesAvailable) | |
| { | |
| this.samplesQueued = samplesQueued; | |
| this.samplesAvailable = samplesAvailable; | |
| } | |
| public uint samplesQueued { get; private set; } | |
| public uint samplesAvailable { get; private set; } | |
| } | |
| [] | |
| public struct GetCurrentHapticStateCommand : IInputDeviceCommandInfo | |
| { | |
| static FourCC Type => new FourCC('X', 'H', 'S', '0'); | |
| const int kSize = InputDeviceCommand.kBaseCommandSize + (sizeof(uint) * 2); | |
| public FourCC typeStatic => Type; | |
| [] | |
| InputDeviceCommand baseCommand; | |
| [] | |
| public uint samplesQueued; | |
| [] | |
| public uint samplesAvailable; | |
| public HapticState currentState => new HapticState(samplesQueued, samplesAvailable); | |
| public static GetCurrentHapticStateCommand Create() | |
| { | |
| return new GetCurrentHapticStateCommand | |
| { | |
| baseCommand = new InputDeviceCommand(Type, kSize), | |
| }; | |
| } | |
| } | |
| } | |