枚举
UENUM宏搭配BlueprintType可以将枚举暴露给蓝图,不使用的话,仅能在C++使用
//定义一个原生enum class
enum class EMyType
{
Type1,
Type2,
Type3,
};
namespace EState
{
enum Type {
Stop,
Close,
Open
};
}
// 带反射枚举
UENUM(BlueprintType)
enum class ECurrentState : uint8
{
Idle UMETA(DisplayName="空闲"),
Attack UMETA(DisplayName="攻击"),
Roll UMETA(DisplayName="翻滚"),
Dead UMETA(DisplayName="死亡"),
};
UPROPERTY(EditAnywhere,BlueprintReadWrite)
ECurrentState MyCurrentState UMETA(DisplayName = "当前状态");

枚举值与字符串转换, 针对 UENUM
UENUM()
enum class ECultureTeam :uint8 {
EN = 0,
ZH = 1
};
//根据 enum 类型获取字符串
template<typename TEnum>
FString GetEnumValueAsString(cons

本文介绍了在UE4中如何使用枚举,包括原生enumclass、带反射的UENUM以及枚举值与字符串的相互转换。同时,讲解了结构体的使用,如何通过BlueprintType暴露给蓝图,以及FTableRowBase的子类化用于DataTable。此外,还展示了如何在蓝图中访问和操作这些枚举和结构体。

6007

被折叠的 条评论
为什么被折叠?



