public override void Dump(string path, ContainerHandler handler) { string format = this.GetFileFormatString(); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } handler.Initialize(Count); for (int i = 0; i < Count; i++) { FATB[i].Dump(path, i, format, Reader.BaseStream, Header.DataOffset); handler.StepFile(i + 1); } }
private void PackGARC(BinaryWriter bw, ContainerHandler handler, CancellationToken token) { StartPack(); handler.Initialize(Count); WriteIntro(bw); int dataOffset = (int)bw.BaseStream.Position; for (int i = 0; i < Count; i++) { if (token.IsCancellationRequested) { return; } WriteEntry(bw, i, dataOffset); } WriteIntro(bw, true); bw.Flush(); }
protected override Task Pack(BinaryWriter bw, ContainerHandler handler, CancellationToken token) { return(Task.Run(() => PackGARC(bw, handler, token), token)); }