// Token: 0x0600571D RID: 22301 RVA: 0x001E031C File Offset: 0x001DE71C private IEnumerator HapticLoop(VRCTrackingUnity.HapticWave wave) { float timeElapsed = 0f; while (timeElapsed < wave.duration) { OVRInput.SetControllerVibration(wave.frequency, wave.strength, (wave.controllerIndex != 0) ? OVRInput.Controller.RTouch : OVRInput.Controller.LTouch); timeElapsed += Time.unscaledTime; yield return(null); } OVRInput.SetControllerVibration(0f, 0f, (wave.controllerIndex != 0) ? OVRInput.Controller.RTouch : OVRInput.Controller.LTouch); this.currentHapticLoop[wave.controllerIndex] = null; yield break; }
// Token: 0x0600571C RID: 22300 RVA: 0x001E0218 File Offset: 0x001DE618 public override void GenerateHapticEvent(VRCTracking.ID id, float duration, float amplitude, float frequency) { amplitude *= 2f; if (OVRManager.instance == null || !OVRManager.instance.enabled) { return; } if (duration <= 0f) { return; } int num = -1; switch (id) { case VRCTracking.ID.HandTracker_LeftWrist: case VRCTracking.ID.HandTracker_LeftPointer: case VRCTracking.ID.HandTracker_LeftGun: case VRCTracking.ID.HandTracker_LeftGrip: case VRCTracking.ID.HandTracker_LeftPalm: num = 0; break; case VRCTracking.ID.HandTracker_RightWrist: case VRCTracking.ID.HandTracker_RightPointer: case VRCTracking.ID.HandTracker_RightGun: case VRCTracking.ID.HandTracker_RightGrip: case VRCTracking.ID.HandTracker_RightPalm: num = 1; break; } if (num < 0) { return; } VRCTrackingUnity.HapticWave hapticWave = default(VRCTrackingUnity.HapticWave); hapticWave.controllerIndex = num; hapticWave.duration = duration; hapticWave.strength = Mathf.Clamp01(amplitude); hapticWave.frequency = frequency; if (this.currentHapticLoop[hapticWave.controllerIndex] != null) { base.StopCoroutine(this.currentHapticLoop[hapticWave.controllerIndex]); } this.currentHapticLoop[hapticWave.controllerIndex] = base.StartCoroutine("HapticLoop", hapticWave); }