public FObjectExport(IAssetConverter converter) { FPackageFileSummary?summ = converter.GetSummary(); using (BinaryReader br = new BinaryReader(converter.GetAssetStream(), Encoding.UTF8, true)) { this.ClassIndex = br.ReadInt32(); this.SuperIndex = br.ReadInt32(); if (summ.GetUE4Version() >= 508) { this.TemplateIndex = br.ReadInt32(); } FObjectResource resource = new FObjectResource(converter); this.Index = resource.Index; this.ObjectName = resource.ObjectName; this.ObjectFlags = (EObjectFlags)br.ReadInt32(); if (summ.GetUE4Version() >= 511) { this.SerialSize = br.ReadInt64(); this.SerialOffset = br.ReadInt64(); } else { this.SerialSize = br.ReadInt32(); this.SerialOffset = br.ReadInt32(); } this.ExportFileOffset = SerialOffset - summ.TotalSize; this.IsForcedExport = br.ReadInt32() != 0; this.IsNotForClient = br.ReadInt32() != 0; this.IsNotForServer = br.ReadInt32() != 0; this.PackageGuid = new FGuid(converter.GetAssetStream()); this.PackageFlags = (EPackageFlags)br.ReadInt32(); if (summ.GetUE4Version() >= 365) { this.IsNotAlwaysLoadedForEditorGame = br.ReadInt32() != 0; } if (summ.GetUE4Version() >= 485) { this.IsAsset = br.ReadInt32() != 0; } if (summ.GetUE4Version() >= 507) { this.FirstExportDependency = br.ReadInt32(); this.SerializationBeforeSerializationDependencies = br.ReadInt32(); this.CreateBeforeSerializationDependencies = br.ReadInt32(); this.SerializationBeforeCreateDependencies = br.ReadInt32(); this.CreateBeforeCreateDependencies = br.ReadInt32(); } } }
public FObjectImport(IAssetConverter converter) { using (BinaryReader br = new BinaryReader(converter.GetAssetStream(), Encoding.UTF8, true)) { this.ClassPackage = new FName(converter.GetNameMap(), converter.GetAssetStream()); this.ClassName = new FName(converter.GetNameMap(), converter.GetAssetStream()); FObjectResource resource = new FObjectResource(converter); this.Index = resource.Index; this.ObjectName = resource.ObjectName; } }