void FHotReloadClassReinstancer::ReconstructClassDefaultObject(UClass* InClass, UObject* InOuter, FName InName, EObjectFlags InFlags) { // Get the parent CDO UClass* ParentClass = InClass->GetSuperClass(); UObject* ParentDefaultObject = NULL; if (ParentClass != NULL) { ParentDefaultObject = ParentClass->GetDefaultObject(); // Force the default object to be constructed if it isn't already } // Re-create InClass->ClassDefaultObject = StaticAllocateObject(InClass, InOuter, InName, InFlags, false); check(InClass->ClassDefaultObject); const bool bShouldInitilizeProperties = false; const bool bCopyTransientsFromClassDefaults = false; (*InClass->ClassConstructor)(FObjectInitializer(InClass->ClassDefaultObject, ParentDefaultObject, bCopyTransientsFromClassDefaults, bShouldInitilizeProperties)); }
VObject* VObject::StaticConstructObject(const VClass* InClass, FName InName) { return StaticAllocateObject(InClass, InName); }