diff --git a/Assets/Scripts/WaterLogic.cs b/Assets/Scripts/WaterLogic.cs index 41c7239..4ba6e1b 100644 --- a/Assets/Scripts/WaterLogic.cs +++ b/Assets/Scripts/WaterLogic.cs @@ -38,7 +38,6 @@ private void Start() _previousWaitTime = GetWaitTime(); _audioSource = GetComponent(); blackFadeImage.color = new Color(0f, 0f, 0f, 0f); - _audioSource.volume = 1.0f; } @@ -98,6 +97,8 @@ private IEnumerator OxygenDecrement() _previousWaitTime = currentWaitTime; } + UpdateBreathingPitch(); + switch (currentOxygen) { case <= 6 when !_hasPlayedWarning3: @@ -134,6 +135,12 @@ private IEnumerator OxygenDecrement() } } + private void UpdateBreathingPitch() + { + float normalizedOxygen = (float)currentOxygen / maxOxygen; + _audioSource.pitch = Mathf.Lerp(0.5f, 1.5f, normalizedOxygen); + } + private static IEnumerator FadeTextAlpha(TextMeshProUGUI text, float startAlpha, float endAlpha, float duration) { var elapsedTime = 0f; @@ -150,7 +157,6 @@ private static IEnumerator FadeTextAlpha(TextMeshProUGUI text, float startAlpha, text.color = new Color(color.r, color.g, color.b, endAlpha); } - private IEnumerator RestoreOxygen() { const float lerpDuration = 5f; @@ -201,7 +207,7 @@ private IEnumerator FadeOutBlackCanvas() while (timeElapsed < duration) { timeElapsed += Time.deltaTime; - var alpha = Mathf.Clamp01(1 - (timeElapsed / duration)); // Fade out + var alpha = Mathf.Clamp01(1 - (timeElapsed / duration)); blackFadeImage.color = new Color(0, 0, 0, alpha); yield return null; } @@ -210,7 +216,6 @@ private IEnumerator FadeOutBlackCanvas() _isFadingIn = false; } - private void EnterWater() { _isUnderwater = true;