public void LoadGUITags(string[] tags) { List <string> tmp = new List <string>(); if (tags == null) { var tagsS = ModObject.CombineTags(mod.GetModClasses()); foreach (var tag in tagsS) { tmp.Add(ModClass.ClassToNameMapping[tag]); } foreach (var tag in mod.GetIniTags()) { if (!tmp.Contains(tag)) { tmp.Add(tag); } } tags = tmp.ToArray(); } foreach (var c in borderPanel1.Controls) { if (c is CheckBox) { var cb = (CheckBox)c; if (tags.Contains(cb.Text)) { cb.Checked = true; } } else if (c is ComboBox) { var cb = (ComboBox)c; int i = 0; foreach (var item in cb.Items) { if (i == 0) { i++; continue; } if (tags.Contains((string)item)) { cb.SelectedIndex = i; break; } i++; } } } }
public void Reload() { _saveFeatureHold = true; Mod.Refresh(); contentBrowser1.LoadMod(Mod); levelType.Items.Clear(); if (Mod.HasAnyMaps()) { levelType.Visible = true; label1.Visible = true; foreach (var a in ModObject.IniTagToSteamMapping) { levelType.Items.Add(a.Value); if (a.Key.Equals(Mod.MapType, StringComparison.InvariantCultureIgnoreCase)) { levelType.SelectedItem = a.Value; } } } else { levelType.Visible = false; label1.Visible = false; } var imageList = new ImageList(); imageList.ImageSize = new Size(36, 36); foreach (var img in Engine.ModClass.ClassToIconMapping) { imageList.Images.Add(img.Key.ToString(), img.Value); } this.Text = $"{Mod.Name.ToUpper()} (V. {Mod.Version})"; this.ModDescriptionEdit.Text = Mod.GetDescription(); this.modFolderName.Text = Mod.GetDirectoryName(); this.modName.Text = Mod.Name; this.cbOnlineParty.Checked = Mod.IsOnlineParty; this.iconView.BackgroundImage = Mod.GetIcon(); this.chapterInfoInput.Text = Mod.ChapterInfoName; this.cbCoOp.Checked = Mod.Coop.ToLower() == "cooponly"; this.cbOnlineParty.Checked = Mod.IsOnlineParty; this.label5.Text = Mod.Version; this.lblAuthor.Text = Mod.Author; var tags = ModObject.CombineTags(Mod.GetModClasses()); this.tagsList.Clear(); this.tagsList.LargeImageList = imageList; this.ModClass.Text = Mod.ModClass; foreach (var tag in tags) { if (Engine.ModClass.VisibleTypes.Contains(tag)) { this.tagsList.Items.Add("Contains " + Engine.ModClass.ClassToNameMapping[tag], tag.ToString()); } } if (Mod.HasAnyMaps()) { this.tagsList.Items.Add("Contains map", "Map"); } if (Mod.AssetReplacements.Count > 0) { this.tagsList.Items.Add("Asset Replace", "AssetReplace"); } if (Mod.AutoGiveItems) { this.tagsList.Items.Add("Items are available immediately", "AutoGiveItems"); } mButton1.Enabled = Mod.IsReleased; arList1.Fill(Mod.AssetReplacements); this.configList1.Fill(Mod); Debug.WriteLine("ConfigCount: " + Mod.Config.Count); var cooked = ReloadFlags(); if (Mod.IsReadOnly) { mButton4.Enabled = false; mButton5.Enabled = false; mButton6.Enabled = false; mButton7.Enabled = false; mButton8.Enabled = false; mButton10.Enabled = false; label5.Enabled = false; arList1.Enabled = false; chapterInfoInput.Enabled = false; cbOnlineParty.Enabled = false; cbCoOp.Enabled = false; levelType.Enabled = false; iconView.Enabled = false; modName.Enabled = false; modFolderName.Enabled = false; ModDescriptionEdit.ReadOnly = true; } comboBox1.Items.Clear(); panel2.Enabled = false; if (cooked) { //Mod.TestMod(MainWindow.Instance.Runner, "mafia_town"); comboBox1.Items.Add(new MapItem("hub_spaceship", "Spaceship")); comboBox1.Items.Add(new MapItem("mafia_town", "Mafia Town")); comboBox1.Items.Add(new MapItem("hatintimeentry", "HatInTimeEntry")); comboBox1.Items.Add(new MapItem("??menu", "Main Menu")); if (Mod.HasAnyCookedMaps()) { foreach (var a in Mod.GetCookedMaps()) { comboBox1.Items.Add(new MapItem(a)); } } comboBox1.SelectedIndex = comboBox1.Items.Count - 1; panel2.Enabled = true; } Store = ModStore.LoadForMod(Mod); checkBox1.Checked = Store.UseSeparateDescriptionForSteam; SteamDescription.Enabled = Store.UseSeparateDescriptionForSteam; SteamDescription.Text = Store.GetDescription(); _saveFeatureHold = false; HasUnsavedChanges = false; }