diff --git a/NewHorizons/Patches/LocatorPatches.cs b/NewHorizons/Patches/LocatorPatches.cs index b1d32bd8..f5080b04 100644 --- a/NewHorizons/Patches/LocatorPatches.cs +++ b/NewHorizons/Patches/LocatorPatches.cs @@ -1,4 +1,6 @@ using HarmonyLib; +using System.Collections.Generic; +using System.Linq; namespace NewHorizons.Patches { @@ -108,5 +110,12 @@ namespace NewHorizons.Patches _mapSatellite = null; _sunStation = null; } + + [HarmonyPostfix] + [HarmonyPatch(nameof(Locator.GetAudioSignals))] + public static void Locator_GetAudioSignals(ref List __result) + { + __result = __result.Where(signal => signal.IsActive()).ToList(); + } } } diff --git a/NewHorizons/Patches/SignalPatches/AudioSignalPatches.cs b/NewHorizons/Patches/SignalPatches/AudioSignalPatches.cs index 58beba59..a886b827 100644 --- a/NewHorizons/Patches/SignalPatches/AudioSignalPatches.cs +++ b/NewHorizons/Patches/SignalPatches/AudioSignalPatches.cs @@ -11,6 +11,13 @@ namespace NewHorizons.Patches.SignalPatches [HarmonyPatch(typeof(AudioSignal))] public static class AudioSignalPatches { + [HarmonyPostfix] + [HarmonyPatch(nameof(AudioSignal.IsActive))] + public static void AudioSignal_IsActive(AudioSignal __instance, ref bool __result) + { + __result = __result && __instance.gameObject.activeInHierarchy; + } + [HarmonyPrefix] [HarmonyPatch(nameof(AudioSignal.SignalNameToString))] public static bool AudioSignal_SignalNameToString(SignalName name, ref string __result)