[UE4]自定义结构体、类、数据表

自定义数据表:

#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;

};

猜你喜欢

转载自www.cnblogs.com/timy/p/10066118.html