2019-05-04 18:39:42 +02:00
|
|
|
#ifndef ENTITY_CREATE_INFO_H
|
|
|
|
#define ENTITY_CREATE_INFO_H
|
|
|
|
|
2020-01-09 04:27:19 +01:00
|
|
|
#include "../entities/data/entity_data.h"
|
|
|
|
#include "../entity_enums.h"
|
2019-05-05 03:18:00 +02:00
|
|
|
#include "core/reference.h"
|
2019-05-04 18:39:42 +02:00
|
|
|
#include "core/ustring.h"
|
|
|
|
|
2019-05-04 23:20:22 +02:00
|
|
|
class EntityCreateInfo : public Reference {
|
|
|
|
GDCLASS(EntityCreateInfo, Reference);
|
2019-05-04 18:39:42 +02:00
|
|
|
|
|
|
|
public:
|
|
|
|
int get_guid() { return _guid; }
|
|
|
|
void set_guid(int value) { _guid = value; }
|
|
|
|
|
2019-09-11 18:18:20 +02:00
|
|
|
EntityEnums::EntityController get_entity_controller() { return _entity_controller; }
|
|
|
|
void set_entity_controller(EntityEnums::EntityController value) { _entity_controller = value; }
|
2019-05-04 18:39:42 +02:00
|
|
|
|
2019-09-17 15:35:03 +02:00
|
|
|
String get_entity_name() { return _entity_name; }
|
|
|
|
void set_entity_name(String value) { _entity_name = value; }
|
2019-05-04 18:39:42 +02:00
|
|
|
|
|
|
|
int get_level() { return _level; }
|
|
|
|
void set_level(int value) { _level = value; }
|
|
|
|
|
|
|
|
int get_xp() { return _xp; }
|
|
|
|
void set_xp(int value) { _xp = value; }
|
|
|
|
|
2019-09-09 14:26:18 +02:00
|
|
|
Ref<EntityData> get_entity_data() { return _entity_data; }
|
|
|
|
void set_entity_data(Ref<EntityData> value) { _entity_data = value; }
|
2019-05-04 18:39:42 +02:00
|
|
|
|
|
|
|
protected:
|
|
|
|
static void _bind_methods() {
|
2019-09-11 18:18:20 +02:00
|
|
|
ClassDB::bind_method(D_METHOD("get_entity_controller"), &EntityCreateInfo::get_entity_controller);
|
|
|
|
ClassDB::bind_method(D_METHOD("set_entity_controller", "value"), &EntityCreateInfo::set_entity_controller);
|
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::INT, "entity_controller", PROPERTY_HINT_ENUM, EntityEnums::BINDING_STRING_ENTITY_CONTOLLER), "set_entity_controller", "get_entity_controller");
|
2019-05-04 18:39:42 +02:00
|
|
|
|
2019-09-17 15:35:03 +02:00
|
|
|
ClassDB::bind_method(D_METHOD("get_entity_name"), &EntityCreateInfo::get_entity_name);
|
|
|
|
ClassDB::bind_method(D_METHOD("set_entity_name", "value"), &EntityCreateInfo::set_entity_name);
|
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::STRING, "player_name"), "set_entity_name", "get_entity_name");
|
2019-05-04 18:39:42 +02:00
|
|
|
|
|
|
|
ClassDB::bind_method(D_METHOD("get_level"), &EntityCreateInfo::get_level);
|
|
|
|
ClassDB::bind_method(D_METHOD("set_level", "value"), &EntityCreateInfo::set_level);
|
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::STRING, "level"), "set_level", "get_level");
|
|
|
|
|
|
|
|
ClassDB::bind_method(D_METHOD("get_xp"), &EntityCreateInfo::get_xp);
|
|
|
|
ClassDB::bind_method(D_METHOD("set_xp", "value"), &EntityCreateInfo::set_xp);
|
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::STRING, "xp"), "set_xp", "get_xp");
|
2020-01-09 04:27:19 +01:00
|
|
|
|
2019-09-09 14:26:18 +02:00
|
|
|
ClassDB::bind_method(D_METHOD("get_entity_data"), &EntityCreateInfo::get_entity_data);
|
|
|
|
ClassDB::bind_method(D_METHOD("set_entity_data", "value"), &EntityCreateInfo::set_entity_data);
|
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "entity_data", PROPERTY_HINT_RESOURCE_TYPE, "EntityData"), "set_entity_data", "get_entity_data");
|
2019-05-04 18:39:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
int _guid;
|
2019-09-11 18:18:20 +02:00
|
|
|
EntityEnums::EntityController _entity_controller;
|
2019-09-17 15:35:03 +02:00
|
|
|
String _entity_name;
|
2019-05-04 18:39:42 +02:00
|
|
|
int _level;
|
|
|
|
int _xp;
|
|
|
|
|
2019-09-09 14:26:18 +02:00
|
|
|
Ref<EntityData> _entity_data;
|
2019-05-04 18:39:42 +02:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|