#ifndef ITEM_ENUMS_H #define ITEM_ENUMS_H #include "core/object.h" class ItemEnums : public Object { GDCLASS(ItemEnums, Object); public: static const String BINDING_STRING_RARITY; static const String BINDING_STRING_ITEM_TYPE; static const String BINDING_STRING_ITEM_SUB_TYPE; static const String BINDING_STRING_ITEM_SUB_SUB_TYPE; enum ItemRarity { ITEM_RARITY_NONE = 0, ITEM_RARITY_COMMON = 1 << 0, ITEM_RARITY_UNCOMMON = 1 << 1, ITEM_RARITY_SUPERIOR = 1 << 2, ITEM_RARITY_HEROIC = 1 << 3, ITEM_RARITY_MYTHIC = 1 << 4, ITEM_RARITY_ARTIFACT = 1 << 5, ITEM_RARITY_CLASS_NECK = 1 << 6, }; enum ItemSubtype { ITEM_SUB_TYPE_NONE, ITEM_SUB_TYPE_SWORD, ITEM_SUB_TYPE_BOW, ITEM_SUB_TYPE_AXE }; enum ItemSubSubtype { ITEM_SUB_SUB_TYPE_NONE, ITEM_SUB_SUB_TYPE_TWO_HAND, ITEM_SUB_SUB_TYPE_ONE_HAND, ITEM_SUB_SUB_TYPE_LEFT_HAND, ITEM_SUB_SUB_TYPE_RIGHT_HAND }; enum ItemType { ITEM_TYPE_NONE, ITEM_TYPE_WEAPON, ITEM_TYPE_CRAFT, ITEM_TYPE_CURRENCY, ITEM_TYPE_ITEM }; ItemEnums() {} protected: static void _bind_methods() { BIND_ENUM_CONSTANT(ITEM_RARITY_NONE); BIND_ENUM_CONSTANT(ITEM_RARITY_COMMON); BIND_ENUM_CONSTANT(ITEM_RARITY_UNCOMMON); BIND_ENUM_CONSTANT(ITEM_RARITY_SUPERIOR); BIND_ENUM_CONSTANT(ITEM_RARITY_HEROIC); BIND_ENUM_CONSTANT(ITEM_RARITY_MYTHIC); BIND_ENUM_CONSTANT(ITEM_RARITY_ARTIFACT); BIND_ENUM_CONSTANT(ITEM_RARITY_CLASS_NECK); BIND_ENUM_CONSTANT(ITEM_SUB_TYPE_NONE); BIND_ENUM_CONSTANT(ITEM_SUB_TYPE_SWORD); BIND_ENUM_CONSTANT(ITEM_SUB_TYPE_BOW); BIND_ENUM_CONSTANT(ITEM_SUB_TYPE_AXE); BIND_ENUM_CONSTANT(ITEM_SUB_SUB_TYPE_NONE); BIND_ENUM_CONSTANT(ITEM_SUB_SUB_TYPE_TWO_HAND); BIND_ENUM_CONSTANT(ITEM_SUB_SUB_TYPE_ONE_HAND); BIND_ENUM_CONSTANT(ITEM_SUB_SUB_TYPE_LEFT_HAND); BIND_ENUM_CONSTANT(ITEM_SUB_SUB_TYPE_RIGHT_HAND); BIND_ENUM_CONSTANT(ITEM_TYPE_NONE); BIND_ENUM_CONSTANT(ITEM_TYPE_WEAPON); BIND_ENUM_CONSTANT(ITEM_TYPE_CRAFT); BIND_ENUM_CONSTANT(ITEM_TYPE_CURRENCY); BIND_ENUM_CONSTANT(ITEM_TYPE_ITEM); } }; VARIANT_ENUM_CAST(ItemEnums::ItemRarity); VARIANT_ENUM_CAST(ItemEnums::ItemSubtype); VARIANT_ENUM_CAST(ItemEnums::ItemSubSubtype); VARIANT_ENUM_CAST(ItemEnums::ItemType); #endif