using XFEExtension.NetCore.BufferExtension; namespace XFEExtension.NetCore.FileExtension.XFEPackage; /// /// 打包目录 /// public class XFEPackagedDirectory : XFEPackageBase { /// /// 打包的文件 /// public List PackagedFiles { get; set; } = []; /// /// 打包的目录 /// public List PackagedDirectories { get; set; } = []; /// /// 打包 /// /// public byte[] Package() { var buffer = new XFEBuffer(); foreach (var packagedFile in PackagedFiles) buffer.Add(packagedFile.Name, packagedFile.Data); foreach (var packagedDirectory in PackagedDirectories) buffer.Add($"D|{packagedDirectory.Name}", packagedDirectory.Package()); return buffer.ToBuffer(); } /// /// 解包 /// /// 指定目录 public void UnPackage(string path) { Directory.CreateDirectory(path); foreach (var packagedFile in PackagedFiles) File.WriteAllBytes(Path.Combine(path, packagedFile.Name), packagedFile.Data); foreach (var packagedDirectory in PackagedDirectories) packagedDirectory.UnPackage(Path.Combine(path, packagedDirectory.Name)); } }