public static bool Prefix(Menuu __instance, Ray ___ray, RaycastHit ___hit, ref IEnumerator __result) { __result = GadgetCoreAPI.EmptyEnumerator(); if (GadgetCoreAPI.IsInputFrozen()) { return(false); } if (ModMenuController.RestartNeeded || ModBrowser.RestartNeeded) { foreach (System.Diagnostics.Process process in ModMenuController.ConfigHandles) { if (process != null && !process.HasExited) { process.Kill(); } } GadgetCoreAPI.Quit(); return(false); } ModBrowser.CloseModBrowser(); SceneInjector.ModMenuBeam.transform.localScale = new Vector3(30f, 0f, 1f); SceneInjector.ModMenuButtonHolder.transform.position = new Vector3(-40f, 0f, 0f); SceneInjector.ModMenu.SetActive(false); SceneInjector.ModMenuCanvas.GetComponent <CanvasGroup>().alpha = 0; SceneInjector.ModMenuCanvas.GetComponent <CanvasGroup>().interactable = false; SceneInjector.ModMenuCanvas.GetComponent <CanvasGroup>().blocksRaycasts = false; GadgetModConfigs.CloseAllConfigMenus(); __instance.StartCoroutine(AnimateModMenuButton(__instance)); return(true); }
private static IEnumerator ModMenu(Menuu instance) { ModBrowser.CloseModBrowser(); SceneInjector.ModMenuPanel.Rebuild(); SceneInjector.ModMenuBackButtonBeam.transform.localScale = new Vector3(30f, 0f, 1f); SceneInjector.ModMenuBackButtonHolder.transform.position = new Vector3(-40f, 0f, 0f); instance.menuMain.SetActive(false); SceneInjector.ModMenu.SetActive(true); SceneInjector.ModMenuCanvas.GetComponent <CanvasGroup>().alpha = 1; SceneInjector.ModMenuCanvas.GetComponent <CanvasGroup>().interactable = true; SceneInjector.ModMenuCanvas.GetComponent <CanvasGroup>().blocksRaycasts = true; instance.StartCoroutine(DelayRebuildConfigMenus()); SceneInjector.ModMenuBackButtonBeam.GetComponent <Animation>().Play(); yield return(new WaitForSeconds(0.1f)); SceneInjector.ModMenuBackButtonHolder.GetComponent <Animation>().Play(); yield return(null); yield break; }