public static Result Startup(string pathCOM3D2, string pathCM3D2) { Result result; String fullPathCOM3D2 = Path.Combine(pathCOM3D2, "GameData\\paths.dat"); while (true) { String fullPathCOM3D2Backup = fullPathCOM3D2 + "." + DateTime.Now.ToString("yyyyMMddHHmmssfff"); if (!File.Exists(fullPathCOM3D2Backup)) { File.Copy(fullPathCOM3D2, fullPathCOM3D2Backup); result = new Result(fullPathCOM3D2Backup); break; } Thread.Sleep(1000); } PathsDatFile fileCOM3D2 = new PathsDatFile(); fileCOM3D2.Load(fullPathCOM3D2); PathsDatFile fileCM3D2 = new PathsDatFile(); fileCM3D2.Load(Path.Combine(pathCM3D2, "GameData\\paths.dat")); fileCOM3D2.Merge(fileCM3D2); fileCOM3D2.Save(fullPathCOM3D2); return(result); }
public void Merge(PathsDatFile file) { String[] paths0 = this.paths; String[] paths1 = file.paths; IEnumerable <String> newpaths = paths0.Union(paths1); paths0 = newpaths.ToArray <String>(); Array.Sort(paths0); this.paths = paths0; }