Hey! I'm using HarmonyX with unity (in editor directly), trying to patch & unpatch in play mode.
After I call Harmony.UnpatchAll(); the methods still seems to be patched.
public class DestroyPatch
{
[HarmonyPostfix]
[HarmonyPatch(nameof(Object.Destroy), new Type[] { typeof(Object), typeof(float) })]
public static void PrefixA(Object obj, float t)
{
Debug.Log("Destroy(Object obj, float t) called");
}
[HarmonyPostfix]
[HarmonyPatch(nameof(Object.DestroyImmediate), new Type[] { typeof(Object), typeof(bool) })]
public static void PrefixB(Object obj, bool allowDestroyingAssets)
{
Debug.Log("DestroyImmediate(Object obj, bool allowDestroyingAssets) called");
}
}
Both are extern calls. I don't have issues with "normal" methods.
Looking into UnpatchConditional, it seems that HasMethodBody returns 0, and thus those methods are skipped and never unpatched.
Hey! I'm using HarmonyX with unity (in editor directly), trying to patch & unpatch in play mode. After I call Harmony.UnpatchAll(); the methods still seems to be patched.
Both are extern calls. I don't have issues with "normal" methods.
Looking into UnpatchConditional, it seems that HasMethodBody returns 0, and thus those methods are skipped and never unpatched.
Thanks!