4#include "UObject/UnrealType.h"
5#include "UObject/UObjectIterator.h"
6#include "Containers/Array.h"
7#include "UObject/Object.h"
30 virtual void ReadAllProperty(
const UStruct* ReferenceClass,
void* TargetObject,
UObject* DefaultObjectOuter =
nullptr) = 0;
47 for (UClass* Class : StructCache)
49 if (Class->IsChildOf(ParentClass) && Class->GetName() ==
Name)
55 for (TObjectIterator<UClass> It; It; ++It)
57 if (It->IsChildOf(ParentClass) && !It->HasAnyClassFlags(CLASS_Abstract) && (*It)->GetName() ==
Name)
72 return NewObject<UObject>(!IsValid(ObjectOuter) ? (
UObject*)GetTransientPackage() : ObjectOuter,
73 const_cast<UClass*
>(StructDefinition), NAME_None, RF_Transactional);
81 bool bLogVerbose =
false;
virtual bool IsValidFile() const =0
void SetLogVerbose(bool bValue)
virtual void InitializeParserFromString(const FString &Text)
TArray< UClass * > StructCache
bool IsLogVerbose() const
const UClass * GetChildClassFromName(const UClass *ParentClass, const FString &Name)
static UObject * CreateNewUObject(const UClass *StructDefinition, UObject *ObjectOuter)
virtual void ReadAllProperty(const UStruct *ReferenceClass, void *TargetObject, UObject *DefaultObjectOuter=nullptr)=0
virtual void InitializeParser(const FString &FilePath)=0