internal static void Prefix(OptionsMenuLogic __instance)
        {
            foreach (var menu in __instance.subMenus_)
            {
                if (menu.GetType().IsSubclassOf(typeof(SuperMenu)))
                {
                    MenuSystem.MenuBlueprint = ((SuperMenu)menu).menuBlueprint_;
                }
            }

            var CentrifugeMenu = __instance.gameObject.AddComponent <CentrifugeMenu>();

            CentrifugeMenu.MenuTree = MenuSystem.MenuTree;

            List <OptionsSubmenu> menus = new List <OptionsSubmenu>(__instance.subMenus_);

            foreach (var menu in __instance.subMenus_)
            {
                if (menu.Name_ == CentrifugeMenu.Name_)
                {
                    menus.Remove(menu);
                }
            }

            menus.Add(CentrifugeMenu);

            __instance.subMenus_ = menus.ToArray();
        }
        internal static bool Prefix(OptionsMenuLogic __instance, string submenuName)
        {
            List <OptionsSubmenu> menus = __instance.subMenus_.ToList();

            OptionsSubmenu subMenu = menus.Find(x => x.Name_ == submenuName);

            if (subMenu && subMenu is CentrifugeMenu)
            {
                CentrifugeMenu centrifugeMenu = subMenu as CentrifugeMenu;

                if (!centrifugeMenu.MenuTree.Any())
                {
                    MenuSystem.ShowUnavailableMessage();
                    return(false);
                }
            }

            return(true);
        }