Example #1
0
    // 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;
    }
Example #2
0
    // 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);
    }