Esempio n. 1
0
        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");
        }