#ifndef ENTITY_ENUMS_H #define ENTITY_ENUMS_H #include "core/object.h" #include "core/ustring.h" class EntityEnums : public Object { GDCLASS(EntityEnums, Object); public: static const String BINDING_STRING_PLAYER_RESOURCE_TYPES; static const String BINDING_STRING_ENTITY_TYPES; static const String BINDING_STRING_ENTITY_STATE_TYPES; enum PlayerResourceTypes { PLAYER_RESOURCE_TYPES_NONE, PLAYER_RESOURCE_TYPES_RAGE, PLAYER_RESOURCE_TYPES_MANA, PLAYER_RESOURCE_TYPES_ENERGY, PLAYER_RESOURCE_TYPES_TIME_ANOMALY, }; enum EntityType { ENITIY_TYPE_NONE, ENITIY_TYPE_PLAYER, ENITIY_TYPE_AI, ENITIY_TYPE_MOB }; enum EntityStateTypes { ENTITY_STATE_TYPE_NONE = 0, ENTITY_STATE_TYPE_STUN = 1 << 0, ENTITY_STATE_TYPE_ROOT = 1 << 1, ENTITY_STATE_TYPE_FROZEN = 1 << 2, ENTITY_STATE_TYPE_SILENCED = 1 << 3, ENTITY_STATE_TYPE_DISORIENTED = 1 << 4, ENTITY_STATE_TYPE_FEARED = 1 << 5, ENTITY_STATE_TYPE_BURNING = 1 << 6, ENTITY_STATE_TYPE_COLD = 1 << 7, ENTITY_STATE_TYPE_CURSED = 1 << 8, ENTITY_STATE_TYPE_PACIFIED = 1 << 9, }; EntityEnums() {} protected: static void _bind_methods() { BIND_ENUM_CONSTANT(PLAYER_RESOURCE_TYPES_NONE); BIND_ENUM_CONSTANT(PLAYER_RESOURCE_TYPES_RAGE); BIND_ENUM_CONSTANT(PLAYER_RESOURCE_TYPES_MANA); BIND_ENUM_CONSTANT(PLAYER_RESOURCE_TYPES_ENERGY); BIND_ENUM_CONSTANT(PLAYER_RESOURCE_TYPES_TIME_ANOMALY); BIND_ENUM_CONSTANT(ENITIY_TYPE_NONE); BIND_ENUM_CONSTANT(ENITIY_TYPE_PLAYER); BIND_ENUM_CONSTANT(ENITIY_TYPE_AI); BIND_ENUM_CONSTANT(ENITIY_TYPE_MOB); BIND_ENUM_CONSTANT(ENTITY_STATE_TYPE_NONE); BIND_ENUM_CONSTANT(ENTITY_STATE_TYPE_STUN); BIND_ENUM_CONSTANT(ENTITY_STATE_TYPE_ROOT); BIND_ENUM_CONSTANT(ENTITY_STATE_TYPE_FROZEN); BIND_ENUM_CONSTANT(ENTITY_STATE_TYPE_SILENCED); BIND_ENUM_CONSTANT(ENTITY_STATE_TYPE_DISORIENTED); BIND_ENUM_CONSTANT(ENTITY_STATE_TYPE_FEARED); BIND_ENUM_CONSTANT(ENTITY_STATE_TYPE_BURNING); BIND_ENUM_CONSTANT(ENTITY_STATE_TYPE_COLD); BIND_ENUM_CONSTANT(ENTITY_STATE_TYPE_CURSED); BIND_ENUM_CONSTANT(ENTITY_STATE_TYPE_PACIFIED); } }; VARIANT_ENUM_CAST(EntityEnums::EntityType); VARIANT_ENUM_CAST(EntityEnums::PlayerResourceTypes); VARIANT_ENUM_CAST(EntityEnums::EntityStateTypes); #endif