/// <summary> /// Export specified track items /// </summary> /// <param name="trackItems"></param> /// <param name="packName"></param> /// <param name="targetFolder"></param> private static void _ExportTracks(IEnumerable <ListViewItem> trackItems, string packName, string targetFolder) { if (trackItems != null && !string.IsNullOrEmpty(packName) && !string.IsNullOrEmpty(targetFolder) && Directory.Exists(targetFolder)) { // Directories string packFolder = string.Concat(targetFolder, @"\", File2.GetValidFileName(packName, true)); string tracksFolder = string.Concat(packFolder, LibraryConstants.FOLDER_TRACKS); string defaultFolder = string.Concat(packFolder, LibraryConstants.FOLDER_DEFAULT); Directory.CreateDirectory(packFolder); Directory.CreateDirectory(tracksFolder); // Libraries string frameworkFileName = string.Concat(Tools.WorkingPath, DjeFramework1.LibraryProperties.FILE_LIBRARY); string tduLibFileName = string.Concat(Tools.WorkingPath, TDUModdingLibrary.LibraryProperties.FILE_LIBRARY); File.Copy(frameworkFileName, string.Concat(packFolder, DjeFramework1.LibraryProperties.FILE_LIBRARY), true); File.Copy(tduLibFileName, string.Concat(packFolder, TDUModdingLibrary.LibraryProperties.FILE_LIBRARY), true); // EXE files string tpFileName = string.Concat(Tools.WorkingPath, LibraryConstants.FOLDER_TRACKS, AppConstants.FILE_EXE_TRACKPACK); File.Copy(tpFileName, string.Concat(packFolder, AppConstants.FILE_EXE_TRACKPACK), true); // Exported tracks foreach (ListViewItem anotherItem in trackItems) { DFE customTrack = anotherItem.Tag as DFE; if (customTrack != null) { FileInfo fi = new FileInfo(customTrack.FileName); File.Copy(customTrack.FileName, string.Concat(tracksFolder, @"\", fi.Name), true); } } // Default challenges File2.CopyDirectory(string.Concat(Tools.WorkingPath, LibraryConstants.FOLDER_XML, LibraryConstants.FOLDER_DEFAULT, LibraryConstants.FOLDER_CHALLENGES), defaultFolder); } }
/// <summary> /// Converts specified IGE challenges to DFE files /// </summary> /// <param name="igeFiles"></param> private static Couple <int> _ConvertIGEtoDFE(IGE[] igeFiles) { Couple <int> returnedCount = new Couple <int>(0, 0); if (igeFiles != null) { int totalCount = igeFiles.Length; int successCount = 0; foreach (IGE anotherIGE in igeFiles) { try { DFE convertedTrack = anotherIGE; // New file name string tracksFolder = AppConstants.FOLDER_TRACKS; //string newFileName = new FileInfo(convertedTrack.FileName).Name; string targetFileName = string.Concat(tracksFolder, @"\", DFE.FILE_DATA_DFE, File2.GetValidFileName(convertedTrack.TrackName, false) /*File2.GetNameFromFilename(newFileName)*/); convertedTrack.SaveAs(targetFileName); successCount++; } catch (Exception ex) { Log.Error("Unable to convert IGE track to DFE.", ex); } } returnedCount = new Couple <int>(successCount, totalCount); } return(returnedCount); }