13 #include "GameFramework/Actor.h"
14 #include "NVDataObject.generated.h"
18 DECLARE_LOG_CATEGORY_EXTERN(LogNVDataObject, Log, All)
29 static bool SerializeToJsonFile(
const UNVDataObjectAsset* DataObject,
const FString& OutputFilePath);
30 static UNVDataObjectAsset* DeserializeFromJsonFile(
const FString& SourceFilePath, UObject* InParent, FName InName, EObjectFlags Flags);
31 static UNVDataObjectAsset* DeserializeFromJsonString(
const FString& SourceJsonString, UObject* InParent, FName InName, EObjectFlags Flags);
34 virtual void Serialize(FArchive& Ar)
override;
36 virtual bool IsAsset()
const override
41 virtual void PostSaveRoot(
bool bCleanupIsRequired)
override;
44 UPROPERTY(EditAnywhere, SimpleDisplay)
47 #if WITH_EDITORONLY_DATA
49 UPROPERTY(VisibleAnywhere, Instanced, AdvancedDisplay, Category = Config)
50 class UAssetImportData* AssetImportData;
52 virtual void GetAssetRegistryTags(TArray<FAssetRegistryTag>& OutTags)
const override;
53 virtual void PostInitProperties()
override;
54 #endif //WITH_EDITORONLY_DATA
57 UCLASS(DefaultToInstanced, editinlinenew)
65 static bool SerializeToJsonFile(
const UNVDataObject* DataObject,
const FString& OutputFilePath);
66 static UNVDataObject* DeserializeFromJsonFile(
const FString& SourceFilePath, UObject* InParent, FName InName, EObjectFlags Flags);
67 static UNVDataObject* DeserializeFromJsonString(
const FString& SourceJsonString, UObject* InParent, FName InName, EObjectFlags Flags);
70 virtual void Serialize(FArchive& Ar)
override;
74 UPROPERTY(VisibleAnywhere, AdvancedDisplay, Category = Config)
75 TSubclassOf<UObject> LogicHandlerClassType;
81 GENERATED_UINTERFACE_BODY()
86 GENERATED_IINTERFACE_BODY()