언리얼 엔진/C++

[언리얼엔진] C++ 커스텀 구조체를 데이터테이블에서 사용하기

mane 2023. 8. 6. 14:59
728x90
반응형

커스텀 구조체를 에디터상에서 데이터테이블로 만들기

- 예시 코드

#include "Engine/DataTable.h"

/** 레벨 업 표 항목을 정의하는 구조체 */
    USTRUCT(BlueprintType)
    struct FLevelUpData : public FTableRowBase
    {
        GENERATED_USTRUCT_BODY()

    public:

        FLevelUpData()
        : XPtoLvl(0)
        , AdditionalHP(0)
        {}

        /** 'Name' 열은 XP Level 과 같습니다. */

        /** 이전 레벨에서 해당 레벨로 가기 위해 필요한 XP 입니다. */
        UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LevelUp)
        int32 XPtoLvl;

        /** 이 레벨에서 얻은 추가 HP 입니다. */
        UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LevelUp)
        int32 AdditionalHP;

        /** 업적에 사용할 아이콘입니다. */
        UPROPERTY(EditAnywhere, BlueprintReadWrite, Category=LevelUp)
        TSoftObjectPtr<UTexture> AchievementIcon;
    };

설명

  • 위의 예시 코드에서는 FLevelUpData 라는 구조체를 만들고 public FTableRowBase 를 상속받고 #include "Engine/DataTable.h" 헤더를 추가해 주면 된다 

 

 

코드출처 : https://docs.unrealengine.com/5.1/ko/data-driven-gameplay-elements-in-unreal-engine/

728x90
반응형