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); } }