use AudioTypes instead

or else end times doesn't work
This commit is contained in:
Noah Pilarski 2024-06-13 21:10:22 -04:00
parent fe3dd1176b
commit 88cdeccf28
3 changed files with 25 additions and 26 deletions

View File

@ -6,36 +6,27 @@ namespace NewHorizons.Components.EOTE
{ {
public class DreamWorldEndTimes : MonoBehaviour public class DreamWorldEndTimes : MonoBehaviour
{ {
private IModBehaviour _mod; private AudioType _endTimesAudio = AudioType.EndOfTime;
private string _endTimesAudio; private AudioType _endTimesDreamAudio = AudioType.EndOfTime_Dream;
private IModBehaviour _dreamMod;
private string _endTimesDreamAudio;
public void SetEndTimesAudio(string audio, IModBehaviour mod) public void SetEndTimesAudio(AudioType audio)
{ {
_mod = mod;
_endTimesAudio = audio; _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; _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(); endTimesSource.Stop();
if (!string.IsNullOrWhiteSpace(endTimesClip)) endTimesSource.AssignAudioLibraryClip(audio);
{
AudioUtilities.SetAudioClip(endTimesSource, endTimesClip, mod);
}
else
endTimesSource.AssignAudioLibraryClip(defaultClip);
} }
} }
} }

View File

@ -9,6 +9,7 @@ using UnityEngine;
using Object = UnityEngine.Object; using Object = UnityEngine.Object;
using NewHorizons.OtherMods; using NewHorizons.OtherMods;
using NewHorizons.Components.EOTE; using NewHorizons.Components.EOTE;
using Epic.OnlineServices.Presence;
namespace NewHorizons.Handlers namespace NewHorizons.Handlers
{ {
@ -49,40 +50,47 @@ namespace NewHorizons.Handlers
if (!string.IsNullOrEmpty(system.Config.GlobalMusic.travelAudio)) 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)) if (!string.IsNullOrEmpty(system.Config.GlobalMusic.endTimesAudio))
{ {
var audioType = AudioTypeHandler.GetAudioType(system.Config.GlobalMusic.endTimesAudio, system.Mod);
Delay.FireOnNextUpdate(() => { Delay.FireOnNextUpdate(() => {
Locator.GetGlobalMusicController().gameObject.GetAddComponent<DreamWorldEndTimes>().SetEndTimesAudio(system.Config.GlobalMusic.endTimesAudio, system.Mod); Locator.GetGlobalMusicController().gameObject.GetAddComponent<DreamWorldEndTimes>().SetEndTimesAudio(audioType);
AudioUtilities.SetAudioClip(Locator.GetGlobalMusicController()._endTimesSource, system.Config.GlobalMusic.endTimesAudio, system.Mod); Locator.GetGlobalMusicController()._endTimesSource.AssignAudioLibraryClip(audioType);
}); });
} }
if (!string.IsNullOrEmpty(system.Config.GlobalMusic.endTimesDreamAudio)) if (!string.IsNullOrEmpty(system.Config.GlobalMusic.endTimesDreamAudio))
{ {
Delay.FireOnNextUpdate(() => Locator.GetGlobalMusicController().gameObject.GetAddComponent<DreamWorldEndTimes>().SetEndTimesDreamAudio(system.Config.GlobalMusic.endTimesDreamAudio, system.Mod)); var audioType = AudioTypeHandler.GetAudioType(system.Config.GlobalMusic.endTimesDreamAudio, system.Mod);
Delay.FireOnNextUpdate(() => Locator.GetGlobalMusicController().gameObject.GetAddComponent<DreamWorldEndTimes>().SetEndTimesDreamAudio(audioType));
} }
if (!string.IsNullOrEmpty(system.Config.GlobalMusic.brambleDimensionAudio)) 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)) 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)) 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)) 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));
} }
} }
} }

View File

@ -79,7 +79,7 @@ public class GlobalMusicControllerPatches
{ {
if (__instance.TryGetComponent(out DreamWorldEndTimes dreamWorldEndTimes)) if (__instance.TryGetComponent(out DreamWorldEndTimes dreamWorldEndTimes))
{ {
dreamWorldEndTimes.AssignEndTimesDream(__instance._endTimesSource); dreamWorldEndTimes.AssignEndTimes(__instance._endTimesSource);
} }
else else
{ {