ZhadoTom
(ZhadoTom)
1
UENUM(BlueprintType, meta = (Bitflags))
enum class EEquipSlot : uint8
{
None = 0,
Head = 1 << 0 UMETA(DisplayName = "Head"),
Face = 1 << 1 UMETA(DisplayName = "Face"),
Chest = 1 << 2 UMETA(DisplayName = "Chest"),
Hands = 1 << 3 UMETA(DisplayName = "Hands"),
Waist = 1 << 4 UMETA(DisplayName = "Waist"),
Legs = 1 << 5 UMETA(DisplayName = "Legs"),
Feet = 1 << 6 UMETA(DisplayName = "Feet"),
};
ENUM_CLASS_FLAGS(EEquipSlot)
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Equip Settings", meta = (Bitmask, BitmaskEnum = "EEquipSlot"))
int32 EquipFlags;
When I check this in the inspector I only get options up to “Waist” and “None” doesn’t unflag everything like you’d expect.
Am I doing something wrong?
ZhadoTom
(ZhadoTom)
2
To anybody who encounters this issue, I found adding "UseEnumValuesAsMaskValuesInEditor = “true” allowed them to all appear.
None wont clear the bitmask unless you expand it with a function, so if you want it to not be displayed just us UMETA(Hidden)
Updated Code:
UENUM(BlueprintType, meta = (Bitflags), UseEnumValuesAsMaskValuesInEditor = "true")
enum class EEquipSlot : uint8
{
None = 0 UMETA(Hidden),
Head = 1 << 0 UMETA(DisplayName = "Head"),
Face = 1 << 1 UMETA(DisplayName = "Face"),
Chest = 1 << 2 UMETA(DisplayName = "Chest"),
Hands = 1 << 3 UMETA(DisplayName = "Hands"),
Waist = 1 << 4 UMETA(DisplayName = "Waist"),
Legs = 1 << 5 UMETA(DisplayName = "Legs"),
Feet = 1 << 6 UMETA(DisplayName = "Feet"),
};
ENUM_CLASS_FLAGS(EEquipSlot)
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "Equip Settings", meta = (Bitmask, BitmaskEnum = "EEquipSlot"))
int32 EquipFlags;