/// <summary> /// Serves as the default hash function. /// </summary> /// <returns> /// A hash code for the current object. /// </returns> public override int GetHashCode() { unchecked { return(((InstallationPath?.GetHashCode() ?? 0) * 397) ^ (int)Type); } }
public BuildSettings(string hostname, int port, string filename, InstallationPath installationPath, int reconnectDelay, bool mergeDependencies) { Hostname = hostname; Port = port; Filename = filename; InstallationPath = installationPath; ReconnectDelay = reconnectDelay; MergeDependencies = mergeDependencies; }
/// <summary> /// Persists the grouped setting values to the persistent store. /// </summary> /// <returns><c>true</c> if the settings were persisted; /// <c>false</c> otherwise.</returns> public override bool Save() { if (!RequiredDirectoriesVM.ValidateSettings()) { return(false); } RequiredDirectoriesVM.SaveSettings(true); if (!String.Equals(EnvironmentInfo.Settings.InstallationPaths[GameMode.ModeId], InstallationPath.Trim(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar))) { EnvironmentInfo.Settings.DelayedSettings[GameMode.ModeId].Add(String.Format("InstallationPaths~{0}", GameMode.ModeId), InstallationPath.Trim(Path.AltDirectorySeparatorChar, Path.DirectorySeparatorChar)); } EnvironmentInfo.Settings.CustomLaunchCommands[GameMode.ModeId] = FileUtil.StripInvalidPathChars(CustomLaunchCommand); EnvironmentInfo.Settings.CustomLaunchCommandArguments[GameMode.ModeId] = CustomLaunchCommandArguments; EnvironmentInfo.Settings.Save(); return(true); }
private void NextButton_Click(object sender, EventArgs e) { switch (PageNav) { case PageNavigation.Welcome: ViewPanel.Controls.Clear(); HeaderLable.Text = @"Welcome"; WelcomePage welcomePage = new WelcomePage() { Dock = DockStyle.Fill }; ViewPanel.Controls.Add(welcomePage); PageNav = PageNavigation.TermsAndCondition; BackButton.Visible = false; break; case PageNavigation.TermsAndCondition: BackButton.Visible = true; HeaderLable.Text = @"Terms And Conditions"; ViewPanel.Controls.Clear(); TermsAndConditions termsAndConditions = new TermsAndConditions() { Dock = DockStyle.Fill }; ViewPanel.Controls.Add(termsAndConditions); PageNav = PageNavigation.InstallationPath; NextButton.Enabled = false; break; case PageNavigation.InstallationPath: HeaderLable.Text = @"Installation Directory"; ViewPanel.Controls.Clear(); InstallationPath installationPath = new InstallationPath() { Dock = DockStyle.Fill }; ViewPanel.Controls.Add(installationPath); PageNav = PageNavigation.Progress; break; case PageNavigation.Progress: HeaderLable.Text = @"Installing"; NextButton.Visible = false; BackButton.Visible = false; ViewPanel.Controls.Clear(); InstallationProgress installationProgress = new InstallationProgress() { Dock = DockStyle.Fill }; ViewPanel.Controls.Add(installationProgress); PageNav = PageNavigation.Final; backgroundWorker.DoWork += BackgroundWorker_DoWork; backgroundWorker.RunWorkerCompleted += backgroundWorker1_RunWorkerCompleted; backgroundWorker.ProgressChanged += installationProgress.backgroundWorker1_ProgressChanged; backgroundWorker.RunWorkerAsync(); break; case PageNavigation.Final: HeaderLable.Text = @"Finished"; ViewPanel.Controls.Clear(); FinalPage final = new FinalPage() { Dock = DockStyle.Fill }; ViewPanel.Controls.Add(final); FinishButton.Visible = true; break; } }
public string GetExe() => !string.IsNullOrWhiteSpace(Exe) ? Exe : Path.GetFileName(InstallationPath.EnumerateFiles().First(s => s.Trim().EndsWith(".exe")));