new-horizons/NewHorizons/Patches/BrittleHollowPatches/TimedFragmentIntegrityPatches.cs

20 lines
853 B
C#

using HarmonyLib;
namespace NewHorizons.Patches.BrittleHollowPatches;
[HarmonyPatch(typeof(TimedFragmentIntegrity))]
internal class TimedFragmentIntegrityPatches
{
// For some inexplicable reason Mobius decided to implement some weird custom loop using delayed method invoking
// This starts on Awake and isn't stopped by the object being set inactive
// Mobius why
// We just need to have this method not run if the object is inactive, to prevent the fragment being detached and activating its own proxy body
// While the fragment itself never appears, the proxy does
[HarmonyPrefix]
[HarmonyPatch(nameof(TimedFragmentIntegrity.OnLatestTimeReached))]
public static bool TimedFragmentIntegrity_OnLatestTimeReached(TimedFragmentIntegrity __instance)
{
return __instance.gameObject.activeInHierarchy;
}
}