diff --git a/Assets/Scripts/Util/Sound.cs b/Assets/Scripts/Util/Sound.cs index 89b88932..09c3b538 100644 --- a/Assets/Scripts/Util/Sound.cs +++ b/Assets/Scripts/Util/Sound.cs @@ -43,6 +43,23 @@ namespace HeavenStudio.Util { } + public void LerpVolume(double beat, double length, float volumeStart, float volumeEnd) + { + if (!gameObject.activeSelf) return; + StartCoroutine(LerpVolumeCo(beat, length, volumeStart, volumeEnd)); + } + + private IEnumerator LerpVolumeCo(double beat, double length, float volumeStart, float volumeEnd) + { + float normalized = 0; + while (normalized <= 1) + { + normalized = cond.GetPositionFromBeat(beat, length); + audioSource.volume = Mathf.Lerp(volumeStart, volumeEnd, normalized); + yield return null; + } + } + public void Play() { if (!available)