private static void VSyncSwitchCheckbox() { if (ModLoader.GetCurrentScene() == CurrentScene.MainMenu) { QualitySettings.vSyncCount = (bool)forceMenuVsync.GetValue() ? 1 : 0; } }
void HelpCommand(string[] args) { ModConsole.Print("<color=green><b>Available commands:</b></color>"); CommandRegistration[] cmds = commands.Values.GroupBy(x => x.command).Select(g => g.First()).Distinct().ToArray(); for (int i = 0; i < cmds.Length; i++) { if (cmds[i].showInHelp) { AppendLogLine(string.Format("<color=orange><b>{0}</b></color>: {1}", cmds[i].command, cmds[i].help)); } } if (ModLoader.GetCurrentScene() != CurrentScene.Game) { AppendLogLine("<b><color=red>More commands may appear after you load a save...</color></b>"); } }
void HelpCommand(string[] args) { ModConsole.Print("<color=green><b>Available commands:</b></color>"); List <CommandRegistration> cmds = commands.Values.GroupBy(x => x.command).Select(g => g.First()).Distinct().ToList(); foreach (CommandRegistration reg in cmds) { if (reg.showInHelp) { AppendLogLine(string.Format("<color=orange><b>{0}</b></color>: {1}", reg.command, reg.help)); } } if (ModLoader.GetCurrentScene() != CurrentScene.Game) { AppendLogLine("<b><color=red>More commands may appear after you load a save...</color></b>"); } }
void CreateList() { if ((bool)ModSettings_menu.showCoreModsDf.GetValue() && !coreModCheckbox.isOn) { coreModCheckbox.isOn = true; return; } Mod[] coreMods = ModLoader.LoadedMods.Where(x => x.ID.StartsWith("MSCLoader_")).ToArray(); Mod[] modList = ModLoader.LoadedMods.Where(x => !x.ID.StartsWith("MSCLoader_")).ToArray(); Mod[] updateMods = modList.Where(x => x.hasUpdate).ToArray(); Mod[] menuMods = modList.Where(x => x.LoadInMenu).ToArray(); RemoveChildren(modView.transform); if (coreModCheckbox.isOn) { ModListHeader("Core Mods", new Color32(101, 34, 18, 255), new Color32(254, 254, 0, 255)); for (int i = 0; i < coreMods.Length; i++) { ModButton(coreMods[i].Name, coreMods[i].Version, coreMods[i].Author, coreMods[i]); } } if (modList.Length == 0) { ModListHeader("No mods installed", Color.blue, Color.white); if (ModLoader.InvalidMods.Count == 0) { return; } ModListHeader("Invalid/Broken Mods", new Color32(101, 34, 18, 255), new Color32(254, 254, 0, 255)); for (int i = 0; i < ModLoader.InvalidMods.Count; i++) { GameObject invMod = Instantiate(ms.ModButton_Invalid); invMod.transform.GetChild(0).GetComponent <Text>().text = ModLoader.InvalidMods[i]; invMod.transform.SetParent(modView.transform, false); } return; } if (updateMods.Length > 0) { ModListHeader("Mods with updates", new Color32(57, 57, 57, 255), new Color32(0, 255, 255, 255)); for (int i = 0; i < updateMods.Length; i++) { ModButton(updateMods[i].Name, updateMods[i].Version, updateMods[i].Author, updateMods[i]); } } if (ModLoader.GetCurrentScene() == CurrentScene.MainMenu) { if (menuMods.Length > 0) { ModListHeader("Loaded Mods", new Color32(57, 57, 57, 255), new Color32(0, 255, 255, 255)); for (int i = 0; i < menuMods.Length; i++) { if (!menuMods[i].isDisabled && !menuMods[i].hasUpdate) { ModButton(menuMods[i].Name, menuMods[i].Version, menuMods[i].Author, menuMods[i]); } } } ModListHeader("Ready to load", new Color32(57, 57, 57, 255), new Color32(0, 255, 255, 255)); for (int i = 0; i < modList.Length; i++) { if (!modList[i].LoadInMenu && !modList[i].isDisabled && !modList[i].hasUpdate) { ModButton( modList[i].Name, modList[i].Version, modList[i].Author, modList[i]); } } } else { ModListHeader("Loaded Mods", new Color32(57, 57, 57, 255), new Color32(0, 255, 255, 255)); for (int i = 0; i < modList.Length; i++) { if (!modList[i].isDisabled && !modList[i].hasUpdate) { ModButton( modList[i].Name, modList[i].Version, modList[i].Author, modList[i]); } } } Mod[] disMods = modList.Where(x => x.isDisabled).ToArray(); if (disMods.Length > 0) { ModListHeader("Disabled mods", new Color32(101, 34, 18, 255), new Color32(254, 254, 0, 255)); for (int i = 0; i < disMods.Length; i++) { ModButton( disMods[i].Name, disMods[i].Version, disMods[i].Author, disMods[i]); } } if (ModLoader.InvalidMods.Count > 0) { ModListHeader("Invalid/Broken Mods", new Color32(101, 34, 18, 255), new Color32(254, 254, 0, 255)); for (int i = 0; i < ModLoader.InvalidMods.Count; i++) { GameObject invMod = Instantiate(ms.ModButton_Invalid); invMod.transform.GetChild(0).GetComponent <Text>().text = ModLoader.InvalidMods[i]; invMod.transform.SetParent(modView.transform, false); } } }
public void ModButton(string name, string version, string author, Mod mod) { GameObject modButton = Instantiate(ms.ModButton); if (mod.ID.StartsWith("MSCLoader_")) { modButton.transform.GetChild(1).GetChild(0).GetComponent <Text>().color = Color.cyan; modButton.transform.GetChild(1).GetChild(3).GetComponent <Text>().text = "<color=cyan>Core Module!</color>"; modButton.transform.GetChild(1) .GetChild(4) .GetChild(0) .GetComponent <Button>() .interactable = false; } else if (mod.isDisabled) { modButton.transform.GetChild(1).GetChild(0).GetComponent <Text>().color = Color.red; modButton.transform.GetChild(1).GetChild(3).GetComponent <Text>().text = "<color=red>Mod is disabled!</color>"; modButton.transform.GetChild(2).GetChild(1).gameObject.SetActive( true); // Add plugin Disabled icon modButton.transform.GetChild(2).GetChild(1).GetComponent <Image>().color = Color.red; } else if (!mod.LoadInMenu && ModLoader.GetCurrentScene() == CurrentScene.MainMenu) { modButton.transform.GetChild(1).GetChild(0).GetComponent <Text>().color = Color.yellow; modButton.transform.GetChild(1).GetChild(3).GetComponent <Text>().text = "<color=yellow>Ready to load</color>"; } else { modButton.transform.GetChild(1).GetChild(0).GetComponent <Text>().color = Color.green; } modButton.transform.GetChild(1) .GetChild(4) .GetChild(0) .GetComponent <Button>() .onClick.AddListener(() => ms.settings.ModDetailsShow(mod)); if (Settings.Get(mod).Count > 0) { modButton.transform.GetChild(1) .GetChild(4) .GetChild(1) .GetComponent <Button>() .interactable = true; modButton.transform.GetChild(1) .GetChild(4) .GetChild(1) .GetComponent <Button>() .onClick.AddListener(() => ms.settings.ModSettingsShow(mod)); } if (Keybind.Get(mod).Count > 0) { modButton.transform.GetChild(1) .GetChild(4) .GetChild(2) .GetComponent <Button>() .interactable = true; modButton.transform.GetChild(1) .GetChild(4) .GetChild(2) .GetComponent <Button>() .onClick.AddListener(() => ms.settings.ModKeybindsShow(mod)); } if (name.Length > 24) { modButton.transform.GetChild(1).GetChild(0).GetComponent <Text>().text = string.Format("{0}...", name.Substring(0, 22)); } else { modButton.transform.GetChild(1).GetChild(0).GetComponent <Text>().text = name; } modButton.transform.GetChild(1).GetChild(1).GetComponent <Text>().text = string.Format("by <color=orange>{0}</color>", author); modButton.transform.GetChild(1).GetChild(2).GetComponent <Text>().text = version; modButton.transform.SetParent(modView.transform, false); if (mod.metadata != null && mod.metadata.icon.iconFileName != null && mod.metadata.icon.iconFileName != string.Empty) { if (mod.metadata.icon.isIconRemote) { if (File.Exists(Path.Combine(ModLoader.ManifestsFolder, @"Mod Icons\" + mod.metadata.icon.iconFileName))) { try { Texture2D t2d = new Texture2D(1, 1); t2d.LoadImage(File.ReadAllBytes(Path.Combine(ModLoader.ManifestsFolder, @"Mod Icons\" + mod.metadata.icon.iconFileName))); modButton.transform.GetChild(0) .GetChild(0) .GetComponent <RawImage>() .texture = t2d; } catch (Exception e) { ModConsole.Error(e.Message); System.Console.WriteLine(e); } } } else if (mod.metadata.icon.isIconUrl) { try { WWW www = new WWW(mod.metadata.icon.iconFileName); modButton.transform.GetChild(0) .GetChild(0) .GetComponent <RawImage>() .texture = www.texture; } catch (Exception e) { ModConsole.Error(e.Message); System.Console.WriteLine(e); } } else { if (File.Exists(Path.Combine(ModLoader.GetModAssetsFolder(mod), mod.metadata.icon.iconFileName))) { try { Texture2D t2d = new Texture2D(1, 1); t2d.LoadImage( File.ReadAllBytes(Path.Combine(ModLoader.GetModAssetsFolder(mod), mod.metadata.icon.iconFileName))); modButton.transform.GetChild(0) .GetChild(0) .GetComponent <RawImage>() .texture = t2d; } catch (Exception e) { ModConsole.Error(e.Message); System.Console.WriteLine(e); } } } } if (mod.hasUpdate) { modButton.transform.GetChild(1).GetChild(3).GetComponent <Text>().text = "<color=lime>UPDATE AVAILABLE!</color>"; } if (mod.UseAssetsFolder) { modButton.transform.GetChild(2).GetChild(2).gameObject.SetActive( true); // Add assets icon } if (!mod.isDisabled) { modButton.transform.GetChild(2).GetChild(1).gameObject.SetActive( true); // Add plugin OK icon } if (mod.LoadInMenu) { modButton.transform.GetChild(2).GetChild(0).gameObject.SetActive( true); // Add Menu Icon } }