30 lines
989 B
C#
30 lines
989 B
C#
|
// ENABLE_VR is not defined on Game Core but the assembly is available with limited features when the XR module is enabled.
|
||
|
#if UNITY_INPUT_SYSTEM_ENABLE_XR && (ENABLE_VR || UNITY_GAMECORE) || PACKAGE_DOCS_GENERATION
|
||
|
namespace UnityEngine.InputSystem.XR.Haptics
|
||
|
{
|
||
|
public struct BufferedRumble
|
||
|
{
|
||
|
public HapticCapabilities capabilities { get; private set; }
|
||
|
InputDevice device { get; set; }
|
||
|
|
||
|
public BufferedRumble(InputDevice device)
|
||
|
{
|
||
|
if (device == null)
|
||
|
throw new System.ArgumentNullException(nameof(device));
|
||
|
|
||
|
this.device = device;
|
||
|
|
||
|
var command = GetHapticCapabilitiesCommand.Create();
|
||
|
device.ExecuteCommand(ref command);
|
||
|
capabilities = command.capabilities;
|
||
|
}
|
||
|
|
||
|
public void EnqueueRumble(byte[] samples)
|
||
|
{
|
||
|
var command = SendBufferedHapticCommand.Create(samples);
|
||
|
device.ExecuteCommand(ref command);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
#endif
|