entity_spell_system/entity_enums.h
2019-04-20 14:02:55 +02:00

78 lines
2.2 KiB
C++

#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