public void Disable(UnityModManager.ModEntry modEntry) { modEntry.OnGUI -= OnGUI; }
private static void OnSaveGUI(UnityModManager.ModEntry modEntry) { settings.Save(modEntry); }
public override void Save(UnityModManager.ModEntry modEntry) => Save(this, modEntry);
/// <summary> /// 展示mod的设置 /// </summary> /// <param name="modEntry">umm</param> static void OnGUI(UnityModManager.ModEntry modEntry) { GUIStyle redLabelStyle = new GUIStyle(); redLabelStyle.normal.textColor = new Color(159f / 256f, 20f / 256f, 29f / 256f); GUILayout.Label("如果status亮红灯代表失效!", redLabelStyle); Main.settings.lockAbilityNum = GUILayout.Toggle(Main.settings.lockAbilityNum, "锁定新建人物时的特性点"); Main.settings.talentActor = GUILayout.Toggle(Main.settings.talentActor, "开启新建人物高悟性选项(新建人物特性里自己找找)。"); GUILayout.Label("选择人物成长,随机是MOD随机选择,关闭是系统自行选择,会同时修改技艺和武艺的成长但不会增加其数值。"); Main.settings.developmentActor = GUILayout.SelectionGrid(Main.settings.developmentActor, new string[] { "关闭", "随机", "均衡", "早熟", "晚成" }, 5); Main.settings.featureType = GUILayout.SelectionGrid(Main.settings.featureType, new string[] { "关闭", "全3级特性", "自定义" }, 3); if (Main.settings.featureType != 0) { Main.settings.friend = GUILayout.Toggle(Main.settings.friend, "是否给初始伙伴分配这些特性"); } if (Main.settings.featureType == 1) { GUILayout.Label("全3级特性会使游戏可玩性降低", redLabelStyle); } if (Main.settings.featureType == 2) { GUILayout.BeginHorizontal(); GUILayout.Label("自定义特性文件名:", GUILayout.Width(130)); string featureFilename = ""; featureFilename = GUILayout.TextArea(Main.settings.file); if (GUI.changed) { Main.settings.file = featureFilename; } GUILayout.EndHorizontal(); if ((Main.settings.file != null || Main.settings.file != "") && File.Exists(@Path.Combine(Main.path, Main.settings.file))) { GUILayout.Label("文件存在!"); } else { GUILayout.Label("文件不存在,请检查文件是否存放在" + Main.path + "目录中"); } } GUILayout.Label("传家宝选择,关闭是系统自带。传家宝直接mod内选择后添加,与特质选择不相关。"); Main.settings.itemsType = GUILayout.SelectionGrid(Main.settings.itemsType, new string[] { "关闭", "全部", "自定义" }, 3); if (Main.settings.itemsType == 2) { List <int> tempList = new List <int>(); GUILayout.BeginHorizontal("Box", new GUILayoutOption[0]); int countNum = (Main.tempItemsId.Count / 5) + 1; int i = 0; foreach (KeyValuePair <int, string> itemKV in Main.tempItemsId) { if (i == 0) { GUILayout.BeginVertical("Box", new GUILayoutOption[0]); } if (GUILayout.Toggle(Main.settings.newItemsId.Contains(itemKV.Key), itemKV.Value)) { tempList.Add(itemKV.Key); } else { tempList.Remove(itemKV.Key); } if (i == Main.tempItemsId.Count - 1) { GUILayout.EndVertical(); break; } if (i % 5 == 0 && i != 0) { GUILayout.EndVertical(); GUILayout.BeginVertical("Box", new GUILayoutOption[0]); } i++; } GUILayout.EndHorizontal(); if (GUI.changed) { Main.settings.newItemsId = tempList; } } if (Main.settings.itemsType != 0) { GUILayout.BeginHorizontal("Box", new GUILayoutOption[0]); Main.settings.isStepfatherCreate = GUILayout.Toggle(Main.settings.isStepfatherCreate, "是否义父所制"); Main.settings.friendItemCreate = GUILayout.Toggle(Main.settings.friendItemCreate, "同伴也有同样传家宝"); GUILayout.EndHorizontal(); GUILayout.Label("义父所制会覆盖原有道具效果。"); GUILayout.Label("传家宝数量:" + Main.settings.itemsCount.ToString()); Main.settings.itemsCount = (uint)GUILayout.HorizontalScrollbar(Main.settings.itemsCount, 1, 1, 10); } }
static void Load(UnityModManager.ModEntry modEntry) { var harmony = new Harmony(modEntry.Info.Id); harmony.PatchAll(); }
public override void Save(UnityModManager.ModEntry modEntry) { UnityModManager.ModSettings.Save <Settings>(this, modEntry); }
public static object GetModObject(string modID, string typeName, out UnityModManager.ModEntry modEntry, Func <Type, object> getValue) { modEntry = UnityModManager.FindMod(modID); return(modEntry?.GetModObject(typeName, getValue)); }
static void OnGUI(UnityModManager.ModEntry modEntry) { GUILayout.BeginHorizontal(); GUILayout.Label("<color=#F28234FF>跨月制作的装备在投入材料时决定</color>", new GUILayoutOption[0]); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal("Box"); settings.SetWeapon = GUILayout.Toggle(settings.SetWeapon, "定制武器", new GUILayoutOption[0]); GUILayout.EndHorizontal(); if (settings.SetWeapon) { GUILayout.BeginHorizontal(); GUILayout.Label("式排列", GUILayout.Width(100)); string[] s = new string[6]; for (int i = 0; i < 6; i = i + 1) { s[i] = AttackTypName[settings.AttackTyp[i]]; } GUILayout.Label(string.Concat("<size=15>", string.Join("|", s), "</size>"), GUILayout.Width(150)); bool flag = GUILayout.Button((settings.AttackTypExtend ? "收起" : "展开"), GUILayout.Width(100)); GUILayout.Label("<color=#E4504DFF>不会产生武器没有的式</color>", GUILayout.Width(210)); //GUILayout.FlexibleSpace(); settings.WeaponMoreDuration = GUILayout.Toggle(settings.WeaponMoreDuration, "较高耐久", new GUILayoutOption[0]); if (flag) { settings.AttackTypExtend = !settings.AttackTypExtend; } GUILayout.EndHorizontal(); if (settings.AttackTypExtend) { for (int i = 0; i < 6; i++) { GUILayout.BeginHorizontal(); settings.AttackTyp[i] = GUILayout.SelectionGrid(settings.AttackTyp[i], AttackTypName, 16); GUILayout.EndHorizontal(); } } GUILayout.BeginHorizontal(); GUILayout.Label("词条", GUILayout.Width(100)); settings.WeaponPower0 = GUILayout.SelectionGrid(settings.WeaponPower0, WeaponPowerName0, 4); //GUILayout.FlexibleSpace(); settings.WeaponPowerMustBe = GUILayout.Toggle(settings.WeaponPowerMustBe, "必出", new GUILayoutOption[0]); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); if (settings.WeaponPower0 == 2) { settings.WeaponPower2 = GUILayout.SelectionGrid(settings.WeaponPower2, WeaponPowerName2, 2); } else { if (settings.WeaponPower0 == 3) { settings.WeaponPower3 = GUILayout.SelectionGrid(settings.WeaponPower3, WeaponPowerName3, 6); } else { settings.WeaponPower1 = GUILayout.SelectionGrid(settings.WeaponPower1, WeaponPowerName1, 12); } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("功法发挥", GUILayout.Width(100)); settings.WeaponEngraving = GUILayout.SelectionGrid(settings.WeaponEngraving, WeaponEngravingName, 4); //GUILayout.FlexibleSpace(); settings.WeaponEngravingMustBe = GUILayout.Toggle(settings.WeaponEngravingMustBe, "必出", new GUILayoutOption[0]); GUILayout.EndHorizontal(); } GUILayout.BeginHorizontal("Box"); settings.SetArmor = GUILayout.Toggle(settings.SetArmor, "定制防具", new GUILayoutOption[0]); GUILayout.EndHorizontal(); if (settings.SetArmor) { GUILayout.BeginHorizontal(); GUILayout.Label("词条", GUILayout.Width(100)); settings.ArmorPower = GUILayout.SelectionGrid(settings.ArmorPower, ArmorPowerName, 7); //GUILayout.FlexibleSpace(); settings.ArmorPowerMustBe = GUILayout.Toggle(settings.ArmorPowerMustBe, "必出", new GUILayoutOption[0]); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("额外属性", GUILayout.Width(100)); settings.ArmorAttr = GUILayout.SelectionGrid(settings.ArmorAttr, ArmorAttrName, 7); //GUILayout.FlexibleSpace(); settings.ArmorAttrMustBe = GUILayout.Toggle(settings.ArmorAttrMustBe, "必出", new GUILayoutOption[0]); GUILayout.EndHorizontal(); } GUILayout.BeginHorizontal("Box"); settings.SetJewelry = GUILayout.Toggle(settings.SetJewelry, "定制饰品", new GUILayoutOption[0]); GUILayout.EndHorizontal(); if (settings.SetJewelry) { GUILayout.BeginHorizontal(); GUILayout.Label("词条", GUILayout.Width(100)); //GUILayout.FlexibleSpace(); settings.JewelryPowerMustBe = GUILayout.Toggle(settings.JewelryPowerMustBe, "必出贵重", new GUILayoutOption[0]); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); GUILayout.Label("额外属性", GUILayout.Width(100)); settings.JewelryAttr0 = GUILayout.SelectionGrid(settings.JewelryAttr0, AttrName0, 3); //GUILayout.FlexibleSpace(); settings.JewelryAttrMustBe = GUILayout.Toggle(settings.JewelryAttrMustBe, "必出", new GUILayoutOption[0]); GUILayout.EndHorizontal(); if (settings.JewelryAttr0 != 0) { GUILayout.BeginHorizontal(); if (settings.JewelryAttr0 == 1) { settings.JewelryAttr1 = GUILayout.SelectionGrid(settings.JewelryAttr1, AttrName1, 8); } else { settings.JewelryAttr2 = GUILayout.SelectionGrid(settings.JewelryAttr2, AttrName2, 7); } GUILayout.EndHorizontal(); } } GUILayout.BeginHorizontal("Box"); settings.SetFood = GUILayout.Toggle(settings.SetFood, "定制食物", new GUILayoutOption[0]); GUILayout.EndHorizontal(); if (settings.SetFood) { GUILayout.BeginHorizontal(); GUILayout.Label("额外属性", GUILayout.Width(100)); settings.FoodAttr0 = GUILayout.SelectionGrid(settings.FoodAttr0, AttrName0, 3); settings.FoodAttrMustBe = GUILayout.Toggle(settings.FoodAttrMustBe, "必出", new GUILayoutOption[0]); GUILayout.EndHorizontal(); if (settings.FoodAttr0 != 0) { GUILayout.BeginHorizontal(); if (settings.FoodAttr0 == 1) { settings.FoodAttr1 = GUILayout.SelectionGrid(settings.FoodAttr1, AttrName1, 8); } else { settings.FoodAttr2 = GUILayout.SelectionGrid(settings.FoodAttr2, AttrName2, 7); } GUILayout.EndHorizontal(); } } GUILayout.BeginHorizontal("Box"); bool setDrug = GUILayout.Toggle(settings.setDrug, "定制药品", new GUILayoutOption[0]); GUILayout.EndHorizontal(); if (settings.setDrug != setDrug) { settings.setDrug = setDrug; DrugSwitch(); } if (setDrug) { GUILayout.BeginHorizontal(); GUILayout.Label("必定产出品阶更高的药品", new GUILayoutOption[0]); GUILayout.EndHorizontal(); } GUILayout.BeginHorizontal("Box"); settings.IMBA = GUILayout.Toggle(settings.IMBA, "IMBA模式(破坏游戏平衡,慎用)", new GUILayoutOption[0]); GUILayout.EndHorizontal(); if (settings.IMBA) { GUILayout.BeginHorizontal(); settings.global = GUILayout.Toggle(settings.global, "影响所有新产生的装备,包括商店出售的与NPC获得的(如果版本变化有小概率坏档,慎用)", new GUILayoutOption[0]); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); settings.needNoTime = GUILayout.Toggle(settings.needNoTime, "所有装备制造立刻完成", new GUILayoutOption[0]); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); settings.freeTyp = GUILayout.Toggle(settings.freeTyp, "式的定制不受限制", new GUILayoutOption[0]); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); settings.changeRate = GUILayout.Toggle(settings.changeRate, "改变内伤比例", GUILayout.Width(120)); string rate = GUILayout.TextField(settings.rate.ToString(), GUILayout.Width(40)); if (int.TryParse(rate, out int temp) && temp >= 0 && temp <= 100) { settings.rate = temp; } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); settings.changePoison = GUILayout.Toggle(settings.changePoison, "含有毒素:", GUILayout.Width(100)); for (int i = 0; i < 6; i++) { GUILayout.Label(" " + PoisonName[i], GUILayout.Width(40)); string poison = GUILayout.TextField(settings.poison[i].ToString(), new GUILayoutOption[0]); if (int.TryParse(poison, out int temp1) && temp1 >= 0) { settings.poison[i] = temp1; } } GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); settings.unbreakable = GUILayout.Toggle(settings.unbreakable, "神兵(耐久不会因任何原因减少)", new GUILayoutOption[0]); GUILayout.EndHorizontal(); GUILayout.BeginHorizontal(); settings.lastWish = GUILayout.Toggle(settings.lastWish, "遗愿加成(必得双倍额外属性+必得两种副产品)", new GUILayoutOption[0]); GUILayout.EndHorizontal(); } }
private static void OnGUI(UnityModManager.ModEntry modEntry) { GUILayout.BeginVertical("Box"); settings.showAll = GUILayout.Toggle(settings.showAll, "是否显示所有不传之秘"); GUILayout.EndVertical(); }
private void HandleSaveGUI(UnityModManager.ModEntry modEntry) { UnityModManager.ModSettings.Save(Settings, modEntry); }
public void Enable(UnityModManager.ModEntry modEntry, Assembly assembly) { _logger = modEntry.Logger; if (Enabled) { Debug("Already enabled."); return; } using (ProcessLogger process = new ProcessLogger(_logger)) { try { process.Log("Enabling."); var dict = Harmony.VersionInfo(out var myVersion); process.Log($"Harmony version: {myVersion}"); foreach (var entry in dict) { process.Log($"Mod {entry.Key} loaded with Harmony version {entry.Value}"); } process.Log("Loading settings."); modEntry.OnSaveGUI += HandleSaveGUI; Version = modEntry.Version; Settings = UnityModManager.ModSettings.Load <TSettings>(modEntry); Core = new TCore(); Type[] types = assembly.GetTypes(); if (!Patched) { Harmony harmonyInstance = new Harmony(modEntry.Info.Id); foreach (Type type in types) { List <HarmonyMethod> harmonyMethods = HarmonyMethodExtensions.GetFromType(type); if (harmonyMethods != null && harmonyMethods.Count() > 0) { process.Log($"Patching: {type.FullName}"); try { PatchClassProcessor patchProcessor = harmonyInstance.CreateClassProcessor(type); patchProcessor.Patch(); } catch (Exception e) { Error(e); } } } Patched = true; } Enabled = true; process.Log("Registering events."); _eventHandlers = types.Where(type => type != typeof(TCore) && !type.IsInterface && !type.IsAbstract && typeof(IModEventHandler).IsAssignableFrom(type)) .Select(type => Activator.CreateInstance(type, true) as IModEventHandler).ToList(); if (Core is IModEventHandler core) { _eventHandlers.Add(core); } _eventHandlers.Sort((x, y) => x.Priority - y.Priority); process.Log("Raising events: OnEnable()"); for (int i = 0; i < _eventHandlers.Count; i++) { _eventHandlers[i].HandleModEnable(); } } catch (Exception e) { Error(e); Disable(modEntry, true); throw; } process.Log("Enabled."); } }
static void OnUpdate(UnityModManager.ModEntry modEntry, float delta) { if (rain == null && rainActive) { rain = GameObject.Instantiate(rainPrefab); locoCollider = rain.transform.Find("LocoCollider").gameObject; Transform tf = rain.transform.Find("Rainclouds"); SwapMaterial(tf.gameObject, customSurfaceShader); // , false); tf = rain.transform.Find("Rain"); SwapMaterial(tf.gameObject, legacyAlphaBlended); // , false); Transform tf2 = tf.Find("Ripple"); SwapMaterial(tf2.gameObject, legacyAlphaBlended); // , false); /*tf = tf.transform.Find("Ripple"); * SwapMaterial(tf.gameObject, legacyAlphaBlended, false); * Transform tf2 = tf.Find("WaterSpray"); * SwapMaterial(tf2.gameObject, legacyAlphaBlended, false);*/ tf2 = tf.Find("ImpactSplash"); SwapMaterial(tf2.gameObject, legacyAlphaBlended); // , false); mod.Logger.Log("Successfully switched out materials."); } else if (!switchedAudio && rainActive) { env_birds = GameObject.Find("env_birds Audio Source")?.GetComponent <AudioSource>(); if (env_birds == null) { return; } if (defaultSFX == null) { defaultSFX = env_birds.clip; } env_birds.clip = rainSFX; defaultVolume = env_birds.volume; env_birds.volume = rainVolume; env_birds.Play(); switchedAudio = true; } else if (!killedSun && rainActive) { sun = GameObject.Find("Directional Light")?.GetComponent <Light>(); if (!sun) { return; } sun.gameObject.SetActive(false); killedSun = true; } Transform playerTransform = PlayerManager.PlayerTransform; if (playerTransform == null || !rainActive) { return; } // TODO: Figure out how world height works. rain.transform.position = new Vector3(playerTransform.position.x, playerTransform.position.y + 150f, playerTransform.position.z); // Hope this isn't too costly. // TODO: Set up hitboxes for each loco interior. locoCollider.SetActive(PlayerManager.Car != null && PlayerManager.Car.IsLoco); }
static bool Unload(UnityModManager.ModEntry modEntry) { return(true); }
static bool onToggleEnabled(UnityModManager.ModEntry modEntry, bool value) { enabled = value; return(true); }
public override void Save(UnityModManager.ModEntry modEntry) { Save(); }
public static bool OnToggle(UnityModManager.ModEntry modEntry, bool value) { enabled = value; logger.Log(enabled ? "已开启" : "已关闭"); return(true); }
/// <summary> /// 展示mod的设置 /// </summary> /// <param name="modEntry">umm</param> static void OnGUI(UnityModManager.ModEntry modEntry) { GUIStyle redLabelStyle = new GUIStyle(); redLabelStyle.normal.textColor = new Color(159f / 256f, 20f / 256f, 29f / 256f); GUILayout.Label("如果status亮红灯代表mod失效!", redLabelStyle); Main.settings.autoMerge = GUILayout.Toggle(Main.settings.autoMerge, "开启结束时节时自动合并道具"); Main.settings.enabledSize = GUILayout.Toggle(Main.settings.enabledSize, "开启指定合并大小限制"); if (Main.settings.enabledSize) { string itemSize = GUILayout.TextField(Main.settings.itemsSize.ToString()); if (itemSize == "" || itemSize == null || itemSize == "0" || itemSize == "1") { itemSize = "2"; } if (GUI.changed) { Main.settings.itemsSize = uint.Parse(itemSize); } } if (GUILayout.Button("手动点击合并")) { Main.RunningMergeItems(); } GUILayout.BeginHorizontal("Box", new GUILayoutOption[0]); Main.SetGUIToToggle(31, "药品", ref Main.settings.mergeType); Main.SetGUIToToggle(22, "工具", ref Main.settings.mergeType); Main.SetGUIToToggle(30, "毒药", ref Main.settings.mergeType); Main.SetGUIToToggle(37, "酒水", ref Main.settings.mergeType); Main.SetGUIToToggle(41, "茶叶", ref Main.settings.mergeType); GUILayout.EndHorizontal(); GUILayout.Label("选择合并的酒水,茶叶品级。仅针对酒水茶叶有效"); GUILayout.BeginHorizontal("Box", new GUILayoutOption[0]); Main.SetGUIToToggle(1, "九品", ref Main.settings.itemLevel); Main.SetGUIToToggle(2, "八品", ref Main.settings.itemLevel); Main.SetGUIToToggle(3, "七品", ref Main.settings.itemLevel); Main.SetGUIToToggle(4, "六品", ref Main.settings.itemLevel); Main.SetGUIToToggle(5, "五品", ref Main.settings.itemLevel); Main.SetGUIToToggle(6, "四品", ref Main.settings.itemLevel); Main.SetGUIToToggle(7, "三品", ref Main.settings.itemLevel); Main.SetGUIToToggle(8, "二品", ref Main.settings.itemLevel); Main.SetGUIToToggle(9, "一品", ref Main.settings.itemLevel); GUILayout.EndHorizontal(); GUILayout.Label(""); GUILayout.Label("拆分药品一般用于送礼,拆分只判断单个药品耐久。建议和合并大小限制配合使用。"); GUILayout.Label("一个例子:有2个100耐久药品,拆分大小为5,拆分数量为20。此时拆解会成功。"); GUILayout.Label("一个例子:有2个100耐久药品,拆分大小为5,拆分数量为40。此时拆解会失败。"); if (GUILayout.Button("手动拆分药品")) { Main.ResolveMergeDrugs(); } GUILayout.Label("选择拆分的大小。"); Main.settings.drugsSize = (uint)GUILayout.SelectionGrid(int.Parse(Main.settings.drugsSize.ToString()), new string[] { "不拆", "最大2", "最大3", "最大4", "最大5" }, 5); GUILayout.Label("选择允许拆分的品级。"); GUILayout.BeginHorizontal("Box", new GUILayoutOption[0]); Main.SetGUIToToggle(1, "九品", ref Main.settings.drugsLevel); Main.SetGUIToToggle(2, "八品", ref Main.settings.drugsLevel); Main.SetGUIToToggle(3, "七品", ref Main.settings.drugsLevel); Main.SetGUIToToggle(4, "六品", ref Main.settings.drugsLevel); Main.SetGUIToToggle(5, "五品", ref Main.settings.drugsLevel); Main.SetGUIToToggle(6, "四品", ref Main.settings.drugsLevel); Main.SetGUIToToggle(7, "三品", ref Main.settings.drugsLevel); Main.SetGUIToToggle(8, "二品", ref Main.settings.drugsLevel); Main.SetGUIToToggle(9, "一品", ref Main.settings.drugsLevel); GUILayout.EndHorizontal(); GUILayout.Label("拆分的数量。"); string drugsItemCount = GUILayout.TextField(Main.settings.drugsCount.ToString()); if (drugsItemCount == "" || drugsItemCount == null) { drugsItemCount = "0"; } if (GUI.changed) { Main.settings.drugsCount = uint.Parse(drugsItemCount); } }
private static bool OnToggle(UnityModManager.ModEntry modEntry, bool value) { enabled = value; return(true); }
public static object GetModObject(this UnityModManager.ModEntry modEntry, string typeName, Func <Type, object> getValue) { Type type = modEntry.GetModType(typeName); return((type == null) ? null : getValue.Invoke(type)); }
private static void OnGUI(UnityModManager.ModEntry modEntry) { }
/// <summary> /// 确定是否激活mod /// </summary> /// <param name="modEntry">umm</param> /// <param name="value">是否激活mod</param> public static bool OnToggle(UnityModManager.ModEntry modEntry, bool value) { Main.enabled = value; return(true); }
override public void Save(UnityModManager.ModEntry entry) { Save(this, entry); }
/// <summary> /// 保存mod的设置 /// </summary> /// <param name="modEntry">umm</param> static void OnSaveGUI(UnityModManager.ModEntry modEntry) { Main.settings.Save(modEntry); }
private static void Load(UnityModManager.ModEntry modEntry) { Mod = modEntry; Mod.OnToggle = OnToggle; }
// Called when the mod is turned to on/off. static bool OnToggle(UnityModManager.ModEntry modEntry, bool value /* active or inactive */) { enabled = value; return(true); // Permit or not. }
static void OnGUI(UnityModManager.ModEntry modEntry) { GUILayout.BeginHorizontal(); Main.settings.priorityPart = GUILayout.Toolbar(Main.settings.priorityPart, toolBarText); GUILayout.EndHorizontal(); }
private static void OnGUI(UnityModManager.ModEntry modEntry) { GUILayout.Label(string.Format("Maximum Displayed Missions (requires game restart): <b>{0}</b>", settings.MaxMissions), new GUILayoutOption[0]); settings.MaxMissions = (int)GUILayout.HorizontalSlider(settings.MaxMissions, 1f, 30f, new GUILayoutOption[0]); }
static bool Load(UnityModManager.ModEntry modEntry) { Main.modEntry = modEntry; modEntry.OnToggle = OnToggle; return(true); }
public static void OnSaveGUI(UnityModManager.ModEntry modEntry) { Settings.Save(modEntry); }
public Menu(UnityModManager.ModEntry modEntry, Assembly assembly) { _assembly = assembly; }