diff --git a/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset b/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset index 142f6029..e874cd91 100644 --- a/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset +++ b/Assets/_PROJECT/Fonts/Quantico-Regular SDF.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2251d1d828eea7c6d9273a26ee4a33b3257c54102421df386671c89447694d0a -size 2121724 +oid sha256:a8839e7329815fdb3540dfb8e24181684ab80075f6a1ff7057bb26fa14917591 +size 2125853 diff --git a/Assets/_PROJECT/Scripts/ModeGeneration/ReleasableButton.cs b/Assets/_PROJECT/Scripts/ModeGeneration/ReleasableButton.cs index 114cbf01..c3550a8e 100644 --- a/Assets/_PROJECT/Scripts/ModeGeneration/ReleasableButton.cs +++ b/Assets/_PROJECT/Scripts/ModeGeneration/ReleasableButton.cs @@ -12,6 +12,7 @@ public class ReleasableButton : MonoBehaviour public float moveDuration = 0.25f; public float moveAmount = 0.05f; + private bool isLocked; private float upPositionY; private float downPositionY; @@ -43,7 +44,7 @@ public class ReleasableButton : MonoBehaviour private void OnTriggerEnter(Collider collider) { // if button is up, start moving down - if (buttonState == 0 && collider.gameObject.tag.EndsWith("Hand")) + if (buttonState == 0 &&!isLocked && collider.gameObject.tag.EndsWith("Hand")) { Activate(); OnButtonPressed?.Invoke(); @@ -53,7 +54,7 @@ public class ReleasableButton : MonoBehaviour private void OnTriggerExit(Collider collider) { // if button is down, start moving up - if (buttonState == 1 && collider.gameObject.tag.EndsWith("Hand")) + if (buttonState == 1 && !isLocked && collider.gameObject.tag.EndsWith("Hand")) { Deactivate(); OnButtonReleased?.Invoke(); @@ -81,4 +82,14 @@ public class ReleasableButton : MonoBehaviour AudioManager.Instance.PlayAttachedInstance(FMODEvents.Instance.Click, gameObject); } + + public void Lock() + { + isLocked = true; + } + + public void Unlock() + { + isLocked = false; + } } diff --git a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/RadioTransmitter.cs b/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/RadioTransmitter.cs index 53f4193d..e7cd4c7c 100644 --- a/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/RadioTransmitter.cs +++ b/Assets/_PROJECT/Scripts/ModeGeneration/ShapeDetection/RadioTransmitter.cs @@ -1,3 +1,4 @@ +using System.Threading.Tasks; using TMPro; using UnityEngine; using UnityEngine.XR.Interaction.Toolkit; @@ -22,6 +23,7 @@ public class RadioTransmitter : XRGrabInteractable { radioButton.OnButtonPressed += OnRadioButtonPressed; radioButton.OnButtonReleased += OnRadioButtonReleased; + radioButton.Lock(); isProcessing = false; var emission = particles.emission; @@ -34,10 +36,13 @@ public class RadioTransmitter : XRGrabInteractable particles.transform.LookAt(computerScreen.transform.position); } - protected override void OnSelectEntered(SelectEnterEventArgs args) + protected async override void OnSelectEntered(SelectEnterEventArgs args) { base.OnSelectEntered(args); OnPlayerPickUp?.Invoke(); + + await Task.Delay(100); + radioButton.Unlock(); } private void OnRadioButtonPressed()