Exemplo n.º 1
0
 public FArchive Serialize(FArchive archive)
 {
     SerializeHeader(archive);
     if ((_bulkDataFlags & EBulkDataFlags.Unused) != 0 || _elementCount == 0)
     {
         BulkData = Array.Empty <byte>();
     }
     else
     {
         if ((_bulkDataFlags & (EBulkDataFlags.OptionalPayload | EBulkDataFlags.PayloadInSeperateFile)) != 0 && archive.FindTagSubstream((_bulkDataFlags & EBulkDataFlags.OptionalPayload) != 0 ? ".uptnl" : ".ubulk", out var tagData))
         {
             tagData.Seek(_bulkDataOffsetInFile, SeekOrigin.Current);
             SerializeData(tagData);
         }
         else if ((_bulkDataFlags & EBulkDataFlags.PayloadAtEndOfFile) != 0)
         {
             throw new NotImplementedException($"{nameof(EBulkDataFlags.PayloadAtEndOfFile)} is not implemented yet!");
         }
         else if ((_bulkDataFlags & EBulkDataFlags.ForceInlinePayload) != 0)
         {
             SerializeData(archive);
         }
     }
     return(archive);
 }