예제 #1
0
 public UObject(BinaryReader data, FPackageFileSummary summary, bool pad = true, FObjectExport export = null)
 {
     while (true)
     {
         long  position = data.BaseStream.Position;
         FName fName    = LSerializer.Deserialize <FName>(data);
         fName.Ref(summary);
         if ((string)fName == "None")
         {
             break;
         }
         data.BaseStream.Position = position;
         FPropertyTag fPropertyTag = LSerializer.Deserialize <FPropertyTag>(data);
         data.BaseStream.Position = position;
         fPropertyTag.Ref(summary);
         fPropertyTag = VisitorFactory.Visit(data, fPropertyTag, summary);
         fPropertyTag.Ref(summary);
         Add(fPropertyTag);
     }
     if (pad)
     {
         data.BaseStream.Position += 4L;
     }
     if (export != null)
     {
         ObjectData = VisitorFactory.VisitSubtype(data, export, summary);
     }
 }