void FClassArchiveProxy::Resolve(UClass* Class, const FUHTMakefile& UHTMakefile) const { FStructArchiveProxy::Resolve(Class, UHTMakefile); Class->SetSuperStruct(UHTMakefile.GetStructByIndex(SuperStructIndex)); Class->ClassWithin = UHTMakefile.GetClassByIndex(ClassWithinIndex); Class->ClassGeneratedBy = UHTMakefile.GetObjectByIndex(ClassGeneratedByIndex); Class->NetFields.Empty(NetFields.Num()); for (FSerializeIndex FieldIndex : NetFields) { Class->NetFields.Add(UHTMakefile.GetFieldByIndex(FieldIndex)); } Class->FuncMap.Empty(FuncMap.Num()); for (auto& Kvp : FuncMap) { Class->FuncMap.Add(Kvp.Key.CreateName(UHTMakefile), UHTMakefile.GetFunctionByIndex(Kvp.Value)); } Class->Interfaces.Empty(Interfaces.Num()); for (FImplementedInterfaceArchiveProxy ImplementedInterfaceArchiveProxy : Interfaces) { FImplementedInterface ImplementedInterface = ImplementedInterfaceArchiveProxy.CreateImplementedInterface(UHTMakefile); ImplementedInterfaceArchiveProxy.Resolve(ImplementedInterface, UHTMakefile); Class->Interfaces.Add(ImplementedInterface); } Class->ClassConfigName = ClassConfigName.CreateName(UHTMakefile); }
void FObjectBaseArchiveProxy::Resolve(UObjectBase* ObjectBase, const FUHTMakefile& UHTMakefile) const { ObjectBase->Class = UHTMakefile.GetClassByIndex(ClassIndex); ObjectBase->Outer = UHTMakefile.GetObjectByIndex(OuterIndex); }