From 7579db06be5c65711d377165412c4cb1ddfc261d Mon Sep 17 00:00:00 2001 From: PauFusco <99730051+PauFusco@users.noreply.github.com> Date: Tue, 4 Jun 2024 06:07:03 +0200 Subject: [PATCH] Revert "Update VibrationTest.cs" This reverts commit ff6343fac2e32417555928e2c58b77439e8e4ec1. --- .../Scripts/ScalePuzzle/VibrationTest.cs | 146 +++--------------- 1 file changed, 18 insertions(+), 128 deletions(-) diff --git a/Assets/Resources/Scripts/ScalePuzzle/VibrationTest.cs b/Assets/Resources/Scripts/ScalePuzzle/VibrationTest.cs index 05d0d73..8c80779 100644 --- a/Assets/Resources/Scripts/ScalePuzzle/VibrationTest.cs +++ b/Assets/Resources/Scripts/ScalePuzzle/VibrationTest.cs @@ -3,37 +3,17 @@ public class VibrationTest : MonoBehaviour { + [Range(0,1)] + public float intensity; + public float duration; + XRBaseController controller; XRDirectInteractor controllerInteractor; - enum PulseState - { - D1, - E, - A, - D2, - } - - PulseState pulseState; - - float pulseTimer; - float timeBetween; - float pulseStrength; - float longPulseDuration; - float shortPulseDuration; - private void Start() { GetComponent().selectEntered.AddListener(OnSelectEntered); GetComponent().selectExited.AddListener(OnSelectExited); - - pulseTimer = 0; - timeBetween = 0.2f; - pulseStrength = 0.5f; - longPulseDuration = 0.8f; - shortPulseDuration = 0.2f; - - pulseState = PulseState.D1; } private void OnSelectEntered(SelectEnterEventArgs args) @@ -46,10 +26,9 @@ private void OnSelectExited(SelectExitEventArgs args) { controller = null; controllerInteractor = null; - - pulseState = PulseState.D1; } + float timer = 0.0f; private void Update() { if (controllerInteractor.IsSelecting(GetComponent())) @@ -60,115 +39,26 @@ private void Update() void DoPulses() { - switch (pulseState) - { - case PulseState.D1: - LetterD1Code(); - break; - case PulseState.E: - LetterECode(); - break; - case PulseState.A: - LetterACode(); - break; - case PulseState.D2: - LetterD2Code(); - break; - } - } - - void LetterD1Code() - { - pulseTimer += Time.deltaTime; + timer += Time.deltaTime; - if (pulseTimer < longPulseDuration) - { - LongHaptic(); - } - - if (pulseTimer < longPulseDuration + shortPulseDuration + timeBetween && pulseTimer > longPulseDuration + timeBetween) - { - ShortHaptic(); - } - - if (pulseTimer < longPulseDuration + shortPulseDuration + shortPulseDuration + timeBetween * 2 && pulseTimer > longPulseDuration + shortPulseDuration + timeBetween * 2) - { - ShortHaptic(); - } - else - { - pulseState = PulseState.E; - pulseTimer = 0; - } - } + if (timer > 0.5f) { TriggerHaptic(controller); } - void LetterECode() - { - pulseTimer += Time.deltaTime; - - if (pulseTimer < shortPulseDuration) - { - ShortHaptic(); - } - else - { - pulseState = PulseState.A; - pulseTimer = 0; - } + if (timer > 1.0f) { timer -= 1.0f; } } - void LetterACode() - { - pulseTimer += Time.deltaTime; - - if (pulseTimer < shortPulseDuration) - { - ShortHaptic(); - } - - if (pulseTimer < longPulseDuration + shortPulseDuration + timeBetween && pulseTimer > shortPulseDuration + timeBetween) - { - LongHaptic(); - } - else - { - pulseState = PulseState.D2; - pulseTimer = 0; - } - } + //void TriggerHaptic(BaseInteractionEventArgs eventArgs) + //{ + // if (eventArgs.interactorObject is XRBaseControllerInteractor controllerInteractor) + // { + // TriggerHaptic(controllerInteractor.xrController); + // } + //} - void LetterD2Code() + void TriggerHaptic(XRBaseController controller) { - pulseTimer += Time.deltaTime; - - if (pulseTimer < longPulseDuration) + if (intensity > 0) { - LongHaptic(); + controller.SendHapticImpulse(intensity, duration); } - - if (pulseTimer < longPulseDuration + shortPulseDuration && pulseTimer > longPulseDuration) - { - ShortHaptic(); - } - - if (pulseTimer < longPulseDuration + shortPulseDuration + shortPulseDuration && pulseTimer > longPulseDuration + shortPulseDuration) - { - ShortHaptic(); - } - else - { - pulseState = PulseState.D1; - pulseTimer = 0; - } - } - - void ShortHaptic() - { - controller.SendHapticImpulse(pulseStrength, shortPulseDuration); - } - - void LongHaptic() - { - controller.SendHapticImpulse(pulseStrength, longPulseDuration); } }