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;
        }