summaryrefslogtreecommitdiff
path: root/Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs')
-rw-r--r--Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs b/Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs
new file mode 100644
index 0000000..df0c95d
--- /dev/null
+++ b/Assets/Samples/OpenXR Plugin/1.14.3/Controller/Scripts/ActionToHaptics.cs
@@ -0,0 +1,31 @@
+using UnityEngine.InputSystem;
+using UnityEngine.XR.OpenXR.Input;
+
+namespace UnityEngine.XR.OpenXR.Samples.ControllerSample
+{
+ public class ActionToHaptics : MonoBehaviour
+ {
+ public InputActionReference action;
+ public InputActionReference hapticAction;
+ public float _amplitude = 1.0f;
+ public float _duration = 0.1f;
+ public float _frequency = 0.0f;
+
+ private void Start()
+ {
+ if (action == null || hapticAction == null)
+ return;
+
+ action.action.Enable();
+ hapticAction.action.Enable();
+ action.action.performed += (ctx) =>
+ {
+ var control = action.action.activeControl;
+ if (null == control)
+ return;
+
+ OpenXRInput.SendHapticImpulse(hapticAction.action, _amplitude, _frequency, _duration, control.device);
+ };
+ }
+ }
+}