📜  ue4 enum c++ (1)

📅  最后修改于: 2023-12-03 15:05:42.287000             🧑  作者: Mango

UE4中的枚举

在UE4中,枚举(Enum)是一种类型,它可以表示一组有限的值。它对于在代码中定义一组常量非常有用,可以提高代码的可读性并减少错误。

定义枚举

在C++中,定义枚举类型的语法为:

enum EnumName
{
    Value1,
    Value2,
    // ...
};

在UE4中,定义枚举的语法与标准C++并无区别,可以直接在头文件中定义枚举:

// WeaponType.h
#pragma once

UENUM(BlueprintType)
enum class EWeaponType : uint8
{
    Sword,
    Bow,
    Axe,
    Hammer
};

上述代码定义了一个名为“EWeaponType”的枚举类型,表示武器类型。在UE4中,为了使枚举能够与蓝图配合使用,需要使用UENUM宏,并指定类型为BlueprintType

使用枚举

定义枚举之后,我们可以使用它来声明变量:

EWeaponType CurrentWeapon = EWeaponType::Sword;

我们还可以使用switch语句来根据枚举值执行不同的代码:

switch (CurrentWeapon)
{
    case EWeaponType::Sword:
        // do something
        break;
    case EWeaponType::Bow:
        // do something
        break;
    case EWeaponType::Axe:
        // do something
        break; 
    case EWeaponType::Hammer:
        // do something
        break;   
}
属性

在UE4中,我们可以使用属性来为枚举值添加元数据:

UENUM(BlueprintType)
enum class EWeaponType : uint8
{
    Sword UMETA(DisplayName = "剑"),
    Bow UMETA(DisplayName = "弓"),
    Axe UMETA(DisplayName = "斧"),
    Hammer UMETA(DisplayName = "锤子")
};

上面的代码使用UMETA宏为每个值添加一个DisplayName元数据,这将在蓝图中显示武器类型的中文名称。

总结

UE4中的枚举是C++的标准类型,可以用于表示一组有限的值。在UE4中,使用UENUM宏可以为枚举类型添加元数据,以便与蓝图配合使用。