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
{
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);
}
}
}

View File

@ -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<DreamWorldEndTimes>().SetEndTimesAudio(system.Config.GlobalMusic.endTimesAudio, system.Mod);
AudioUtilities.SetAudioClip(Locator.GetGlobalMusicController()._endTimesSource, system.Config.GlobalMusic.endTimesAudio, system.Mod);
Locator.GetGlobalMusicController().gameObject.GetAddComponent<DreamWorldEndTimes>().SetEndTimesAudio(audioType);
Locator.GetGlobalMusicController()._endTimesSource.AssignAudioLibraryClip(audioType);
});
}
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))
{
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));
}
}
}

View File

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