diff --git a/Assets/Scripts/Util/MultiSound.cs b/Assets/Scripts/Util/MultiSound.cs index 270094ff..9e6b441b 100644 --- a/Assets/Scripts/Util/MultiSound.cs +++ b/Assets/Scripts/Util/MultiSound.cs @@ -25,7 +25,7 @@ namespace RhythmHeavenMania.Util } - public static void Play(Sound[] snds, bool game = true) + public static MultiSound Play(Sound[] snds, bool game = true) { List sounds = snds.ToList(); GameObject gameObj = new GameObject(); @@ -36,6 +36,7 @@ namespace RhythmHeavenMania.Util gameObj.name = "MultiSound"; GameManager.instance.SoundObjects.Add(gameObj); + return ms; } private void Update() @@ -57,8 +58,14 @@ namespace RhythmHeavenMania.Util if (songPositionInBeats >= (sounds[sounds.Count - 1].beat)) { - Destroy(this.gameObject); + Delete(); } } + + public void Delete() + { + GameManager.instance.SoundObjects.Remove(gameObject); + Destroy(gameObject); + } } } \ No newline at end of file diff --git a/Assets/Scripts/Util/Sound.cs b/Assets/Scripts/Util/Sound.cs index b4b13799..4e5773c3 100644 --- a/Assets/Scripts/Util/Sound.cs +++ b/Assets/Scripts/Util/Sound.cs @@ -70,7 +70,13 @@ namespace RhythmHeavenMania.Util IEnumerator NotRelyOnBeatSound() { yield return new WaitForSeconds(clip.length); - Destroy(this.gameObject); + Delete(); + } + + public void Delete() + { + GameManager.instance.SoundObjects.Remove(gameObject); + Destroy(gameObject); } } }