FClassArchiveProxy::FClassArchiveProxy(FUHTMakefile& UHTMakefile, const UClass* Class) : FStructArchiveProxy(UHTMakefile, Class) { ClassUnique = Class->ClassUnique; ClassFlags = Class->ClassFlags; ClassCastFlags = Class->ClassCastFlags; ClassWithinIndex = UHTMakefile.GetClassIndex(Class->ClassWithin); ClassGeneratedByIndex = UHTMakefile.GetObjectIndex(Class->ClassGeneratedBy); ClassConfigName = FNameArchiveProxy(UHTMakefile, Class->ClassConfigName); bCooked = Class->bCooked; ClassReps.Empty(Class->ClassReps.Num()); for (FRepRecord RepRecord : Class->ClassReps) { ClassReps.Add(FRepRecordArchiveProxy(UHTMakefile, RepRecord)); } NetFields.Empty(Class->NetFields.Num()); for (UField* Field : Class->NetFields) { NetFields.Add(UHTMakefile.GetFieldIndex(Field)); } FuncMap.Empty(Class->FuncMap.Num()); for (auto& Kvp : Class->FuncMap) { FuncMap.Add(TPairInitializer<FNameArchiveProxy, int32>(FNameArchiveProxy(UHTMakefile, Kvp.Key), UHTMakefile.GetFunctionIndex(Kvp.Value))); } Interfaces.Empty(Class->Interfaces.Num()); for (FImplementedInterface ImplementedInterface : Class->Interfaces) { Interfaces.Add(FImplementedInterfaceArchiveProxy(UHTMakefile, ImplementedInterface)); } }
FObjectBaseArchiveProxy::FObjectBaseArchiveProxy(FUHTMakefile& UHTMakefile, const UObjectBase* ObjectBase) { ObjectFlagsUint32 = static_cast<uint32>(ObjectBase->ObjectFlags); ClassIndex = UHTMakefile.GetClassIndex(ObjectBase->Class); Name = FNameArchiveProxy(UHTMakefile, ObjectBase->Name); OuterIndex = UHTMakefile.GetObjectIndex(ObjectBase->Outer); }