private List <string> reLoadModList() { modlistBox.Items.Clear(); var modlist = Directory.EnumerateFiles(AppDomain.CurrentDomain.BaseDirectory + "mods").ToList(); foreach (var item in modlist) { ICSharpCode.SharpZipLib.Zip.ZipFile zip = new ICSharpCode.SharpZipLib.Zip.ZipFile(item); var enrty = zip.FindEntry("config.json", true); if (enrty >= 0) { var config = MODConfigHelper.LoadConfig(zip.GetInputStream(enrty)); ModItemControl boxitem = new ModItemControl(); boxitem.ItemName = config.Name; //boxitem.IsRed = true; // ListBoxItem boxitem = new ListBoxItem(); // boxitem.Content = config.Name; boxitem.Tag = config; boxitem.DataContext = item; modlistBox.Items.Add(boxitem); } } return(modlist); }
private void makeButton_Click(object sender, RoutedEventArgs e) { if (string.IsNullOrEmpty(dictextBox.Text) || string.IsNullOrEmpty(nameTextBox.Text.Trim()) || string.IsNullOrEmpty(desTextBox.Text.Trim()) || string.IsNullOrEmpty(authorTextBox.Text.Trim())) { MessageBox.Show("缺少必填项"); return; } if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "mods//" + nameTextBox.Text.Trim() + ".zip")) { MessageBox.Show("已存在同名文件"); return; } Models.ModConfigModel config = new Models.ModConfigModel() { Name = nameTextBox.Text.Trim(), Descript = desTextBox.Text.Trim(), Author = authorTextBox.Text.Trim() }; MODConfigHelper.SaveConfig(dictextBox.Text + "//config.json", config); System.IO.DirectoryInfo dinfo = new System.IO.DirectoryInfo(dictextBox.Text); if (!Directory.Exists(dictextBox.Text)) { return; } FastZip fz = new FastZip(); fz.CreateZip(AppDomain.CurrentDomain.BaseDirectory + "mods//" + nameTextBox.Text.Trim() + ".zip", dictextBox.Text, true, ""); MessageBox.Show("制作完成,文件在MODS文件夹下,重启程序加载MOD"); }