private void StartReplay(string execName = "default") { LeagueExecutable exec = null; // Get default exec or specified exec if (execName.Equals("default")) { // Start update form with default var result = new UpdateSplashForm().ShowDialog(); if (result == DialogResult.OK) { exec = ExecsManager.GetExec(ExecsManager.GetDefaultExecName()); } else { // Failed to get exec, stop this.GeneralPlayReplaySplitButton.Enabled = true; return; } } else { // Start update form with target var result = new UpdateSplashForm(execName).ShowDialog(); if (result == DialogResult.OK) { exec = ExecsManager.GetExec(execName); } else { // Failed to get exec, stop this.GeneralPlayReplaySplitButton.Enabled = true; return; } } // This really shouldn't happen, but just to be safe if (exec == null) { MessageBox.Show($"Could not find executable data {execName}\nPlease run ROFL Player and check the executables", "Failed to start replay", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } var playtask = Task.Run(() => { ReplayManager.StartReplay(replaypath, exec.TargetPath); }).ContinueWith((t) => { this.BeginInvoke((Action)(() => { if (t.IsFaulted) { MessageBox.Show("Failed to play replay: " + t.Exception.GetType().ToString() + "\n" + t.Exception.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } GeneralPlayReplaySplitButton.Enabled = true; })); }); }
private static void StartReplay(string replayPath, string execName = "default") { LeagueExecutable exec = null; // Get default exec or specified exec if (execName.Equals("default")) { // Start update form with default var result = new UpdateSplashForm().ShowDialog(); if (result == DialogResult.OK) { exec = ExecsManager.GetExec(ExecsManager.GetDefaultExecName()); } else { // Failed to get exec, stop MessageBox.Show("Failed to start replay", $"Could not find executable data {execName}", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } else { // Start update form with target var result = new UpdateSplashForm(execName).ShowDialog(); if (result == DialogResult.OK) { exec = ExecsManager.GetExec(execName); } else { // Failed to get exec, stop MessageBox.Show("Failed to start replay", $"Could not find executable data {execName}", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } if (exec == null) { MessageBox.Show("Failed to start replay", $"Could not find executable data {execName}", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } ReplayManager.StartReplay(replayPath, exec.TargetPath); }