Beispiel #1
0
            private static void Postfix(Panel_OptionsMenu __instance)
            {
                InterfaceManager.m_Panel_OptionsMenu = __instance;
                ObjectPrefabs.Initialize(__instance);

                DateTime tStart = DateTime.UtcNow;

                try {
                    MelonLogger.Msg("Building Mod Settings GUI");
                    ModSettingsMenu.BuildGUI();
                } catch (Exception e) {
                    MelonLogger.Error("Exception while building Mod Settings GUI\n" + e.ToString());
                    return;
                }
                try {
                    MelonLogger.Msg("Building Custom Mode GUI");
                    CustomModeMenu.BuildGUI();
                } catch (Exception e) {
                    MelonLogger.Error("Exception while building Custom Mode GUI\n" + e.ToString());
                    return;
                }

                long timeMillis = (long)(DateTime.UtcNow - tStart).TotalMilliseconds;

                MelonLogger.Msg("Done! Took " + timeMillis + " ms. Have a nice day!");
            }
Beispiel #2
0
        private void OnDisable()
        {
            ModSettingsMenu.SetSettingsVisible(isMainMenu: InterfaceManager.IsMainMenuEnabled(), visible: false);

            previousMod = modSelector?.value;
            foreach (ModTab tab in modTabs.Values)
            {
                tab.requiresConfirmation = false;
            }
            SetConfirmButtonVisible(false);
        }
Beispiel #3
0
        private void OnEnable()
        {
            ModSettingsMenu.SetSettingsVisible(isMainMenu: InterfaceManager.IsMainMenuEnabled(), visible: true);
            if (modSelector.items.Count > 0)
            {
                modSelector.items.Sort();

                string modToSelect = modSelector.items.Contains(previousMod) ? previousMod : modSelector.items[0];
                modSelector.value = modToSelect;
                SelectMod(modToSelect);
            }
        }
            private static void Postfix(Panel_OptionsMenu __instance)
            {
                if (!ModSettingsMenu.HasVisibleModSettings(isMainMenu: InterfaceManager.IsMainMenuActive()))
                {
                    return;
                }

                BasicMenu basicMenu = __instance.m_BasicMenu;

                if (basicMenu == null)
                {
                    return;
                }

                AddAnotherMenuItem(basicMenu);                 // We need one more than they have...
                BasicMenu.BasicMenuItemModel firstItem = basicMenu.m_ItemModelList[0];
                int itemIndex = basicMenu.GetItemCount();

                basicMenu.AddItem("ModSettings", MOD_SETTINGS_ID, itemIndex, "Mod Settings", "Change the configuration of your mods", null,
                                  new Action(() => ShowModSettings(__instance)), firstItem.m_NormalTint, firstItem.m_HighlightTint);
            }
            private static void Postfix()
            {
                DateTime tStart = DateTime.UtcNow;

                try {
                    Debug.Log("[ModSettings] Building Mod Settings GUI");
                    ModSettingsMenu.BuildGUI();
                } catch (Exception e) {
                    Debug.LogError("[ModSettings] Exception while building Mod Settings GUI\n" + e.ToString());
                    return;
                }
                try {
                    Debug.Log("[ModSettings] Building Custom Mode GUI");
                    CustomModeMenu.BuildGUI();
                } catch (Exception e) {
                    Debug.LogError("[ModSettings] Exception while building Custom Mode GUI\n" + e.ToString());
                    return;
                }

                long timeMillis = (long)(DateTime.UtcNow - tStart).TotalMilliseconds;

                Debug.Log("[ModSettings] Done! Took " + timeMillis + " ms. Have a nice day!");
            }
Beispiel #6
0
 public void AddToModSettings(string modName, MenuType menuType)
 {
     ModSettingsMenu.RegisterSettings(this, modName, menuType);
 }