private void WarOfAssassinsForm_Load(object sender, EventArgs e) { var campaignManagerService = new CampaignManagerService(); OKLabel.Text = Missions.TextUib.GetValue("OK", "Ok"); BackToCampaignSelectionLabel.Text = Missions.TextUib.GetValue("Back", "Back"); StartGameLabel.Text = Missions.TextUib.GetValue("StartGame", "Start"); BackToMissionSelectionLabel.Text = Missions.TextUib.GetValue("Back", "Back"); DifficultyLevelLabel.Text = Missions.TextUib.GetValue("EnterDifficulty", "Enter Difficulty Level"); DifficultyLevelComboBox.Items.Add(Missions.TextUib.GetValue("Easy", "Easy")); DifficultyLevelComboBox.Items.Add(Missions.TextUib.GetValue("Normal", "Normal")); DifficultyLevelComboBox.Items.Add(Missions.TextUib.GetValue("Hard", "Hard")); DifficultyLevelComboBox.SelectedIndex = 1; }
public static void StartMission(int difficultyLevel, Mission mission) { if (!string.IsNullOrWhiteSpace(CurrentCampaignFolder) && !string.IsNullOrWhiteSpace(CurrentModsFolder)) { CampaignManagerService.InstallMods(CurrentCampaignFolder, CurrentModsFolder); } if (!string.IsNullOrEmpty(CurrentColorsFile)) { CampaignManagerService.InstallColors(CurrentColorsFile, CurrentCampaignFolder); } string spawnIniPath = Utils.PathCombine(Program.Path, "spawn.ini"); if (File.Exists(spawnIniPath)) { File.Delete(spawnIniPath); } var spawnIni = new IniFile(spawnIniPath); spawnIni.SetStringValue("Settings", "Scenario", mission.FileName); spawnIni.SetIntValue("Settings", "MySideID", mission.SideId); spawnIni.SetIntValue("Settings", "MissionNumber", mission.Number); spawnIni.SetIntValue("Settings", "DifficultyLevel", difficultyLevel); spawnIni.SetIntValue("Settings", "Seed", new Random().Next(int.MaxValue)); if (mission.TextUib.Length > 0) { spawnIni.SetStringValue("Settings", "TextUib", mission.TextUib); } spawnIni.WriteIni(); var psi = new ProcessStartInfo(Utils.PathCombine(Program.Path, "dune2000.exe")); psi.WorkingDirectory = Program.Path; psi.Arguments = "-SPAWN"; if (Environment.OSVersion.Version >= new Version(6, 2, 9200, 0)) { psi.EnvironmentVariables["__COMPAT_LAYER"] += "DWM8And16BitMitigation 16BITCOLOR "; psi.UseShellExecute = false; } Process.Start(psi)?.WaitForExit(); }
public static void StartMission(int difficultyLevel) { StartMission(difficultyLevel, CurrentMission); CampaignManagerService.RestoreFiles(); CampaignManagerService.RestoreColors(); }