From 88cdeccf284afb50491b151d072f61a509018247 Mon Sep 17 00:00:00 2001 From: Noah Pilarski Date: Thu, 13 Jun 2024 21:10:22 -0400 Subject: [PATCH] use AudioTypes instead or else end times doesn't work --- .../Components/EOTE/DreamWorldEndTimes.cs | 25 ++++++------------- NewHorizons/Handlers/SystemCreationHandler.cs | 24 ++++++++++++------ .../Patches/GlobalMusicControllerPatches.cs | 2 +- 3 files changed, 25 insertions(+), 26 deletions(-) diff --git a/NewHorizons/Components/EOTE/DreamWorldEndTimes.cs b/NewHorizons/Components/EOTE/DreamWorldEndTimes.cs index efe845d0..839d286f 100644 --- a/NewHorizons/Components/EOTE/DreamWorldEndTimes.cs +++ b/NewHorizons/Components/EOTE/DreamWorldEndTimes.cs @@ -6,36 +6,27 @@ namespace NewHorizons.Components.EOTE { public class DreamWorldEndTimes : MonoBehaviour { - private IModBehaviour _mod; - private string _endTimesAudio; - private IModBehaviour _dreamMod; - private string _endTimesDreamAudio; + private AudioType _endTimesAudio = AudioType.EndOfTime; + private AudioType _endTimesDreamAudio = AudioType.EndOfTime_Dream; - public void SetEndTimesAudio(string audio, IModBehaviour mod) + public void SetEndTimesAudio(AudioType audio) { - _mod = mod; _endTimesAudio = audio; } - public void AssignEndTimes(OWAudioSource endTimesSource) => Assign(endTimesSource, _endTimesAudio, _mod, AudioType.EndOfTime); + public void AssignEndTimes(OWAudioSource endTimesSource) => Assign(endTimesSource, _endTimesAudio); - public void SetEndTimesDreamAudio(string audio, IModBehaviour mod) + public void SetEndTimesDreamAudio(AudioType audio) { - _dreamMod = mod; _endTimesDreamAudio = audio; } - public void AssignEndTimesDream(OWAudioSource endTimesSource) => Assign(endTimesSource, _endTimesDreamAudio, _dreamMod, AudioType.EndOfTime_Dream); + public void AssignEndTimesDream(OWAudioSource endTimesSource) => Assign(endTimesSource, _endTimesDreamAudio); - public static void Assign(OWAudioSource endTimesSource, string endTimesClip, IModBehaviour mod, AudioType defaultClip) + public static void Assign(OWAudioSource endTimesSource, AudioType audio) { endTimesSource.Stop(); - if (!string.IsNullOrWhiteSpace(endTimesClip)) - { - AudioUtilities.SetAudioClip(endTimesSource, endTimesClip, mod); - } - else - endTimesSource.AssignAudioLibraryClip(defaultClip); + endTimesSource.AssignAudioLibraryClip(audio); } } } \ No newline at end of file diff --git a/NewHorizons/Handlers/SystemCreationHandler.cs b/NewHorizons/Handlers/SystemCreationHandler.cs index 4832c50c..7b043c28 100644 --- a/NewHorizons/Handlers/SystemCreationHandler.cs +++ b/NewHorizons/Handlers/SystemCreationHandler.cs @@ -9,6 +9,7 @@ using UnityEngine; using Object = UnityEngine.Object; using NewHorizons.OtherMods; using NewHorizons.Components.EOTE; +using Epic.OnlineServices.Presence; namespace NewHorizons.Handlers { @@ -49,40 +50,47 @@ namespace NewHorizons.Handlers if (!string.IsNullOrEmpty(system.Config.GlobalMusic.travelAudio)) { - Delay.FireOnNextUpdate(() => AudioUtilities.SetAudioClip(Locator.GetGlobalMusicController()._travelSource, system.Config.GlobalMusic.travelAudio, system.Mod)); + var audioType = AudioTypeHandler.GetAudioType(system.Config.GlobalMusic.travelAudio, system.Mod); + Delay.FireOnNextUpdate(() => Locator.GetGlobalMusicController()._travelSource.AssignAudioLibraryClip(audioType)); } if (!string.IsNullOrEmpty(system.Config.GlobalMusic.endTimesAudio)) { + var audioType = AudioTypeHandler.GetAudioType(system.Config.GlobalMusic.endTimesAudio, system.Mod); Delay.FireOnNextUpdate(() => { - Locator.GetGlobalMusicController().gameObject.GetAddComponent().SetEndTimesAudio(system.Config.GlobalMusic.endTimesAudio, system.Mod); - AudioUtilities.SetAudioClip(Locator.GetGlobalMusicController()._endTimesSource, system.Config.GlobalMusic.endTimesAudio, system.Mod); + Locator.GetGlobalMusicController().gameObject.GetAddComponent().SetEndTimesAudio(audioType); + Locator.GetGlobalMusicController()._endTimesSource.AssignAudioLibraryClip(audioType); }); } if (!string.IsNullOrEmpty(system.Config.GlobalMusic.endTimesDreamAudio)) { - Delay.FireOnNextUpdate(() => Locator.GetGlobalMusicController().gameObject.GetAddComponent().SetEndTimesDreamAudio(system.Config.GlobalMusic.endTimesDreamAudio, system.Mod)); + var audioType = AudioTypeHandler.GetAudioType(system.Config.GlobalMusic.endTimesDreamAudio, system.Mod); + Delay.FireOnNextUpdate(() => Locator.GetGlobalMusicController().gameObject.GetAddComponent().SetEndTimesDreamAudio(audioType)); } if (!string.IsNullOrEmpty(system.Config.GlobalMusic.brambleDimensionAudio)) { - Delay.FireOnNextUpdate(() => AudioUtilities.SetAudioClip(Locator.GetGlobalMusicController()._darkBrambleSource, system.Config.GlobalMusic.brambleDimensionAudio, system.Mod)); + var audioType = AudioTypeHandler.GetAudioType(system.Config.GlobalMusic.brambleDimensionAudio, system.Mod); + Delay.FireOnNextUpdate(() => Locator.GetGlobalMusicController()._darkBrambleSource.AssignAudioLibraryClip(audioType)); } if (!string.IsNullOrEmpty(system.Config.GlobalMusic.finalEndTimesIntroAudio)) { - Delay.FireOnNextUpdate(() => AudioUtilities.SetAudioClip(Locator.GetGlobalMusicController()._finalEndTimesIntroSource, system.Config.GlobalMusic.finalEndTimesIntroAudio, system.Mod)); + var audioType = AudioTypeHandler.GetAudioType(system.Config.GlobalMusic.finalEndTimesIntroAudio, system.Mod); + Delay.FireOnNextUpdate(() => Locator.GetGlobalMusicController()._finalEndTimesIntroSource.AssignAudioLibraryClip(audioType)); } if (!string.IsNullOrEmpty(system.Config.GlobalMusic.finalEndTimesLoopAudio)) { - Delay.FireOnNextUpdate(() => AudioUtilities.SetAudioClip(Locator.GetGlobalMusicController()._finalEndTimesLoopSource, system.Config.GlobalMusic.finalEndTimesLoopAudio, system.Mod)); + var audioType = AudioTypeHandler.GetAudioType(system.Config.GlobalMusic.finalEndTimesLoopAudio, system.Mod); + Delay.FireOnNextUpdate(() => Locator.GetGlobalMusicController()._finalEndTimesLoopSource.AssignAudioLibraryClip(audioType)); } if (!string.IsNullOrEmpty(system.Config.GlobalMusic.finalEndTimesBrambleDimensionAudio)) { - Delay.FireOnNextUpdate(() => AudioUtilities.SetAudioClip(Locator.GetGlobalMusicController()._finalEndTimesDarkBrambleSource, system.Config.GlobalMusic.finalEndTimesBrambleDimensionAudio, system.Mod)); + var audioType = AudioTypeHandler.GetAudioType(system.Config.GlobalMusic.finalEndTimesBrambleDimensionAudio, system.Mod); + Delay.FireOnNextUpdate(() => Locator.GetGlobalMusicController()._finalEndTimesDarkBrambleSource.AssignAudioLibraryClip(audioType)); } } } diff --git a/NewHorizons/Patches/GlobalMusicControllerPatches.cs b/NewHorizons/Patches/GlobalMusicControllerPatches.cs index d1ec723d..b6fbb823 100644 --- a/NewHorizons/Patches/GlobalMusicControllerPatches.cs +++ b/NewHorizons/Patches/GlobalMusicControllerPatches.cs @@ -79,7 +79,7 @@ public class GlobalMusicControllerPatches { if (__instance.TryGetComponent(out DreamWorldEndTimes dreamWorldEndTimes)) { - dreamWorldEndTimes.AssignEndTimesDream(__instance._endTimesSource); + dreamWorldEndTimes.AssignEndTimes(__instance._endTimesSource); } else {