mirror of
https://github.com/Outer-Wilds-New-Horizons/new-horizons.git
synced 2025-12-11 20:15:44 +01:00
51 lines
2.0 KiB
C#
51 lines
2.0 KiB
C#
using HarmonyLib;
|
|
namespace NewHorizons.Patches
|
|
{
|
|
[HarmonyPatch]
|
|
public static class ProxyBodyPatches
|
|
{
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(ProxyBody), nameof(ProxyBody.Awake))]
|
|
public static void ProxyBody_Awake(ProxyBody __instance)
|
|
{
|
|
// Mobius rly used the wrong event name
|
|
GlobalMessenger.AddListener("EnterMapView", __instance.OnEnterMapView);
|
|
GlobalMessenger.AddListener("ExitMapView", __instance.OnExitMapView);
|
|
}
|
|
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(ProxyBody), nameof(ProxyBody.OnDestroy))]
|
|
public static void ProxyBody_OnDestroy(ProxyBody __instance)
|
|
{
|
|
GlobalMessenger.RemoveListener("EnterMapView", __instance.OnEnterMapView);
|
|
GlobalMessenger.RemoveListener("ExitMapView", __instance.OnExitMapView);
|
|
}
|
|
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(ProxyBody), nameof(ProxyBody.OnEnterMapView))]
|
|
public static void ProxyBody_OnEnterMapView(ProxyBody __instance)
|
|
{
|
|
// Set this to false before the method sets the rendering to false so it matches
|
|
__instance._outOfRange = false;
|
|
}
|
|
|
|
// Mobius why doesn't ProxyOrbiter inherit from ProxyBody
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(ProxyOrbiter), nameof(ProxyOrbiter.Awake))]
|
|
public static void ProxyOrbiter_Awake(ProxyOrbiter __instance)
|
|
{
|
|
// Mobius rly used the wrong event name
|
|
GlobalMessenger.AddListener("EnterMapView", __instance.OnEnterMapView);
|
|
GlobalMessenger.AddListener("ExitMapView", __instance.OnExitMapView);
|
|
}
|
|
|
|
[HarmonyPrefix]
|
|
[HarmonyPatch(typeof(ProxyOrbiter), nameof(ProxyOrbiter.OnDestroy))]
|
|
public static void ProxyOrbiter_OnDestroy(ProxyOrbiter __instance)
|
|
{
|
|
GlobalMessenger.RemoveListener("EnterMapView", __instance.OnEnterMapView);
|
|
GlobalMessenger.RemoveListener("ExitMapView", __instance.OnExitMapView);
|
|
}
|
|
}
|
|
}
|