自定义数据表:
#pragma once #include "CoreMinimal.h" #include "Engine/UserDefinedStruct.h" #include "Components/CanvasPanel.h" #include "Blueprint/UserWidget.h" #include "Runtime/Engine/Classes/Engine/UserDefinedStruct.h" #include "Runtime/Engine/Classes/Engine/DataTable.h" #include "Runtime/CoreUObject/Public/UObject/ObjectMacros.h" #include "MiniMapFlagData.generated.h" /*BlueprintType:暴露成为蓝图数据类型,蓝图变量可以使用该结构体作为数据类型*/ USTRUCT(BlueprintType) struct FUMiniMapFlagDataC : public FTableRowBase { GENERATED_USTRUCT_BODY() //小图标 UPROPERTY(EditAnywhere, BlueprintReadWrite) UUserWidget* flag; //小图标对应的Actor UPROPERTY(EditAnywhere, BlueprintReadWrite) AActor* Actor; //小图标对应的Canvas panel Slot UPROPERTY(EditAnywhere, BlueprintReadWrite) UCanvasPanelSlot* Slot; UPROPERTY(EditAnywhere, BlueprintReadWrite) int MyAge; };
自定义类
#pragma once #include "CoreMinimal.h" #include "Engine/UserDefinedStruct.h" #include "Components/CanvasPanel.h" #include "Blueprint/UserWidget.h" #include "Runtime/Engine/Classes/Engine/UserDefinedStruct.h" #include "Runtime/Engine/Classes/Engine/DataTable.h" #include "Runtime/CoreUObject/Public/UObject/ObjectMacros.h" #include "MiniMapFlagData.generated.h" /** * */ UCLASS(BlueprintType) class PROJ10_0121_API UMiniMapFlagData : public UUserDefinedStruct { GENERATED_BODY() public: UMiniMapFlagData() {} UMiniMapFlagData(UUserWidget* flag, AActor* Actor, UCanvasPanelSlot* Slot) :flag(flag), Actor(Actor), Slot(Slot) {} /* flag(flag)表示将参数flag赋值给成员参数flag 使用方法:UMiniMapFlagData data(flag,Actor,Slot); */ public: //小图标 UPROPERTY() UUserWidget* flag; //小图标对应的Actor UPROPERTY() AActor* Actor; //小图标对应的Canvas panel Slot UPROPERTY() UCanvasPanelSlot* Slot; UPROPERTY() int MyAge; };