F6.UEnum|枚举
小于 1 分钟
常规
- Rider添加一个类
- 添加代码
UENUM(Meta = (Bitflags))
enum class EColorBits
{
ECB_Red,
ECB_Green,
ECB_Blue
};
声明前置
.h
enum class EColorBits: uint8;
.cpp
enum class EColorBits: uint8;
{
ECB_Red,
ECB_Green,
ECB_Blue
};
使用
C++ 中的枚举类型并不是严格类型安全的,而且它们的大小是由编译器决定的,因此无法直接用作成员变量的类型。 在UE中需要用对应的模板函数声明,有点像TObjcetPtr的味道
//带命名空间
UPROPERTY(EditAnywhere, BlueprintReadWrite,Category = "ViewLock")
TEnumAsByte< EDrawDebugTrace::Type> DebugType;
//不带UPROPERTY的普通枚举
EColorBits ColorType;
//带UPROPERTY,不带命名空间
UPROPERTY(EditAnywhere, BlueprintReadWrite,Category = "ViewLock")
TEnumAsByte<EViewLockType> ViewLockType;