From d65daf10dffea0de8811143ac48aa27585284f51 Mon Sep 17 00:00:00 2001 From: JohnCorby Date: Tue, 4 Jun 2024 09:32:12 -0700 Subject: [PATCH] fade out audio in FadeHandler --- NewHorizons/Handlers/FadeHandler.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/NewHorizons/Handlers/FadeHandler.cs b/NewHorizons/Handlers/FadeHandler.cs index fbaa0b5b..f9d6d4ff 100644 --- a/NewHorizons/Handlers/FadeHandler.cs +++ b/NewHorizons/Handlers/FadeHandler.cs @@ -5,6 +5,10 @@ using UnityEngine; namespace NewHorizons.Handlers { + /// + /// copied from LoadManager. + /// exists so we can do things after the fade without patching. + /// public static class FadeHandler { public static void FadeOut(float length) => Delay.StartCoroutine(FadeOutCoroutine(length)); @@ -17,11 +21,14 @@ namespace NewHorizons.Handlers while (Time.unscaledTime < endTime) { - LoadManager.s_instance._fadeImage.color = Color.Lerp(Color.clear, Color.black, (Time.unscaledTime - startTime) / length); + var t = Mathf.Clamp01((Time.unscaledTime - startTime) / length); + LoadManager.s_instance._fadeImage.color = Color.Lerp(Color.clear, Color.black, t); + AudioListener.volume = 1f - t; yield return new WaitForEndOfFrame(); } LoadManager.s_instance._fadeImage.color = Color.black; + AudioListener.volume = 0; yield return new WaitForEndOfFrame(); }