示例#1
0
        void validateNewModColl()
        {
            if (TXTBX__MODCOLL_NAME.Text.Equals(pm.txt("[none]")))
            {
                return;
            }
            if (string.IsNullOrEmpty(TXTBX__MODCOLL_NAME.Text))
            {
                return;
            }

            var q = (from item in pm.getModColllist()
                     where item.name.Equals(TXTBX__MODCOLL_NAME.Text)
                     select item);

            if (q.Count() > 0)
            {
                pm.removeModColl(q.First());
            }

            string srcPrt = "";

            if (CHKBX_ASSOC_SRCPRT.Checked == true)
            {
                if (!string.IsNullOrEmpty(pm.SrcPrt))
                {
                    srcPrt = pm.SrcPrt;
                }
            }
            var mc = new ModColl(TXTBX__MODCOLL_NAME.Text, srcPrt);

            foreach (DataGridViewRow r in DGRIDV_MODS.Rows)
            {
                if ((bool)r.Cells[0].Value)
                {
                    mc.Add(new Mod((bool)r.Cells[0].Value, (int)r.Cells[1].Value, pm.MODDIRECTORY, r.Cells[2].Value.ToString()));
                }
            }
            if (mc.Count != 0)
            {
                pm.addModColl(mc);
                reinitModColl();
                LSTB_MODCOLL.Focus();
            }
        }
示例#2
0
        void DGRIDV_MODS_DragDrop(object sender, DragEventArgs e)
        {
            var files = (string[])e.Data.GetData(DataFormats.FileDrop);

            //var files = (string[])e.Data.GetData(DataFormats.FileDrop);
            foreach (string file in files)
            {
                if (File.Exists(file))
                {
                    var fi = new FileInfo(file);
                    if (fi.Extension.ToLower().Equals(".dpz"))
                    {
                        var dpzEx = new DirectoryInfo(@".\DPZ-EXTRACT\");
                        if (dpzEx.Exists)
                        {
                            dpzEx.Delete(true);
                        }
                        dpzEx.Create();
                        ZipFile.ExtractToDirectory(fi.FullName, dpzEx.FullName);

                        string[] foldArr = { dpzEx.FullName + @"\WMD\", dpzEx.FullName + @"\WMDSAVE\", dpzEx.FullName + @"\WMDCONF\" };
                        string[] tgtArr  = { pm.MODDIRECTORY, PM.SAVEDIRECTORY, PM.CONFIGDIRECTORY };
                        for (int i = 0; i < foldArr.Length; i++)
                        {
                            var di = new DirectoryInfo(foldArr[i]);

                            foreach (string dirPath in Directory.GetDirectories(di.FullName, "*", SearchOption.AllDirectories))
                            {
                                Directory.CreateDirectory(dirPath.Replace(di.FullName, tgtArr[i] + "/"));
                            }
                            foreach (string newPath in Directory.GetFiles(di.FullName, "*.*", SearchOption.AllDirectories))
                            {
                                File.Copy(newPath, newPath.Replace(di.FullName, tgtArr[i] + "/"), true);
                            }
                        }
                        ModColl mc = pm.readXmlPackage(new FileInfo(dpzEx.FullName + @"WMF.xml"));
                        pm.addModColl(mc);
                        reinitModColl();
                        LSTB_MODCOLL.Focus();
                        dpzEx.Delete(true);
                    }
                    else
                    {
                        int    stri     = fi.DirectoryName.Length;
                        string namefile = fi.FullName.Substring(stri + 1, fi.FullName.Length - stri - 1);
                        File.Copy(file, pm.MODDIRECTORY + "/" + namefile, true);
                    }
                }
                else if (Directory.Exists(file))
                {
                    var di = new DirectoryInfo(file);

                    //int stri = di.DirectoryName.Length;
                    //string namefile = fi.FullName.Substring(stri + 1, fi.FullName.Length - stri - 1);
                    Directory.CreateDirectory(pm.MODDIRECTORY + "/" + di.Name);
                    foreach (string dirPath in Directory.GetDirectories(di.FullName, "*", SearchOption.AllDirectories))
                    {
                        Directory.CreateDirectory(dirPath.Replace(di.FullName, pm.MODDIRECTORY + "/" + di.Name));
                    }
                    foreach (string newPath in Directory.GetFiles(di.FullName, "*.*", SearchOption.AllDirectories))
                    {
                        File.Copy(newPath, newPath.Replace(di.FullName, pm.MODDIRECTORY + "/" + di.Name), true);
                    }
                    //File.Copy(file, PM.MODDIRECTORY + "/" + namefile, true);
                }
            }
            DGRIDV_MODS.DataSource = new ModList();
        }