using ADOFAIRenderer.Core; using HarmonyLib; namespace ADOFAIRenderer.Patch.Game; [HarmonyPatch(typeof(scrController))] // ReSharper disable once InconsistentNaming public static class scrControllerPatch { [HarmonyPrefix] [HarmonyPatch("TogglePauseGame")] public static bool PreventPause() { return !RenderManager.IsActive; } [HarmonyPrefix] [HarmonyPatch("PortalTravelAction")] public static bool PreventPortalTravel() { return !RenderManager.IsActive; } [HarmonyPrefix] [HarmonyPatch("FailAction")] public static bool PreventFailAction() { return !RenderManager.IsActive; } [HarmonyPrefix] [HarmonyPatch("Fail2Action")] public static bool PreventFail2Action() { return !RenderManager.IsActive; } [HarmonyPrefix] [HarmonyPatch("OnPlayerDied")] public static bool PreventPlayerDied() { return !RenderManager.IsActive; } [HarmonyPostfix] [HarmonyPatch("OnLandOnPortal")] public static void PreventWinTextsPostfix(scrController __instance) { if (!RenderManager.IsActive || __instance == null) return; if (__instance.txtCongrats) { __instance.txtCongrats.text = string.Empty; __instance.txtCongrats.gameObject.SetActive(false); } if (__instance.txtAprilCongrats) { __instance.txtAprilCongrats.text = string.Empty; __instance.txtAprilCongrats.gameObject.SetActive(false); } if (__instance.txtAllStrictClear) { __instance.txtAllStrictClear.text = string.Empty; __instance.txtAllStrictClear.gameObject.SetActive(false); } if (__instance.detailedResults) { __instance.detailedResults.enabled = false; if (__instance.detailedResults.gameObject != null) { __instance.detailedResults.gameObject.SetActive(false); } } } }