private static NetworkFile PackFolder(string path) { try { NetworkFile folderData = new NetworkFile(Path.GetFileName(path), FileType.Directory); string[] files = Directory.GetFiles(path).Where(name => !name.EndsWith(".ini")).ToArray(); //exclude .ini files (these are invisible system files) foreach (var file in files) { folderData.FillData(PackFile(file)); } string[] folders = Directory.GetDirectories(path); foreach (var folder in folders) { folderData.FillData(PackFile(folder)); } return(folderData); } catch (Exception e) { TgenLog.Log(e.ToString()); throw e; } }
public static void UnpackFile(string header, NetworkFile file) { try { if (file.fileType == FileType.Directory) //Path is a folder { UnpackFolder(header, file); return; } else //Path is a file { UnpackFileData(header, file); return; } } catch (Exception e) { TgenLog.Log(e.ToString()); throw e; } }