示例#1
0
        private void BtnOpen_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.OK;
            Close();

            OraMod mod = new OraMod(txtModPath.Text);

            mod.ModID     = config["MOD_ID"];
            mod.ModName   = config["PACKAGING_WINDOWS_LAUNCHER_NAME"];
            mod.Version   = config["ENGINE_VERSION"];
            mod.Author    = config["PACKAGING_AUTHORS"];
            mod.modConfig = config;
            var project = mod.Open();

            mod.Init();

            frmMain mainWin = new frmMain(project);

            mainWin.Show();
        }
        private void DownloadingWin_afterDownload(string fileSavePath)
        {
            ZipFile.ExtractToDirectory(fileSavePath, mod.ModSDKPath);
            DirectoryInfo di              = new DirectoryInfo(mod.ModSDKPath);
            var           dii             = di.EnumerateDirectories().ElementAt(0);
            var           fileSystemInfos = dii.EnumerateFileSystemInfos();

            foreach (var fileSystemInfo in fileSystemInfos)
            {
                if (fileSystemInfo.Attributes == FileAttributes.Directory)
                {
                    Directory.Move(fileSystemInfo.FullName, mod.ModSDKPath + "\\" + fileSystemInfo.Name);
                }
                else
                {
                    File.Move(fileSystemInfo.FullName, mod.ModSDKPath + "\\" + fileSystemInfo.Name);
                }
            }
            Directory.Delete(dii.FullName, true);

            string modConfigFile = mod.ModSDKPath + "\\mod.config";

            mod.modConfig = ModConfigEditor.Instance.ReadConfig(modConfigFile);

            //Modify the mod.config file
            mod.modConfig["MOD_ID"] = mod.ModID;
            mod.modConfig["PACKAGING_WINDOWS_LAUNCHER_NAME"] = mod.ModName;
            mod.modConfig["PACKAGING_AUTHORS"] = mod.Author;
            ModConfigEditor.Instance.WriteConfig(mod.modConfig, modConfigFile);

            //Rename the mod directory name
            string defaultModDirectory = Path.Combine(mod.ModSDKPath, "mods\\example");
            string currentModDirectory = Path.Combine(mod.ModSDKPath, "mods\\" + mod.ModID);

            Directory.CreateDirectory(currentModDirectory);
            DirectoryInfo di2 = new DirectoryInfo(defaultModDirectory);

            foreach (var fileSystemInfo in di2.EnumerateFileSystemInfos())
            {
                if (fileSystemInfo.Attributes == FileAttributes.Directory)
                {
                    Directory.Move(fileSystemInfo.FullName, currentModDirectory + "\\" + fileSystemInfo.Name);
                }
                else
                {
                    File.Copy(fileSystemInfo.FullName, currentModDirectory + "\\" + fileSystemInfo.Name);
                }
            }
            Directory.Delete(defaultModDirectory, true);

            mod.Init();
            //Rename the project file name

            //Rename the project directory name

            //Rename the Solution file name

            //Modify the Solution content to match the project

            frmMain mainWindow = new frmMain(mod.Project);

            mainWindow.Show();
        }