/// <summary> /// Makes a copy of this object. /// </summary> /// <returns>A copy of this object with the same property values.</returns> public LaunchParams Clone() { LaunchParams clone = new LaunchParams(); clone.GameToLaunch = this.GameToLaunch; clone.Username = this.Username; clone.Password = this.Password; clone.LoginTimeoutInMs = this.LoginTimeoutInMs; clone.GameDir = this.GameDir; clone.FilesToSwitch = new List<FileSwitcher>( this.FilesToSwitch.Count ); foreach ( FileSwitcher fileToSwitch in this.FilesToSwitch ) { clone.FilesToSwitch.Add( fileToSwitch.Clone() ); } clone.ClosePopup = this.ClosePopup; clone.LaunchInWindowed = this.LaunchInWindowed; clone.WindowWidth = this.WindowWidth; clone.WindowHeight = this.WindowHeight; clone.GameDonePollingIntervalInMs = this.GameDonePollingIntervalInMs; clone.GameWindowCreatedPollingIntervalInMs = this.GameWindowCreatedPollingIntervalInMs; clone.GameDeadPollingIntervalInMs = this.GameDeadPollingIntervalInMs; return clone; }