diff --git a/entities/data/entity_data.cpp b/entities/data/entity_data.cpp index 932a01c..c7a738f 100644 --- a/entities/data/entity_data.cpp +++ b/entities/data/entity_data.cpp @@ -87,6 +87,13 @@ void EntityData::set_bag_size(int value) { _bag_size = value; } +Ref EntityData::get_entity_species_data() { + return _entity_species_data; +} +void EntityData::set_entity_species_data(Ref value) { + _entity_species_data = value; +} + Ref EntityData::get_entity_class_data() { return _entity_class_data; } @@ -1179,10 +1186,18 @@ void EntityData::_bind_methods() { ClassDB::bind_method(D_METHOD("set_bag_size", "value"), &EntityData::set_bag_size); ADD_PROPERTY(PropertyInfo(Variant::INT, "bag_size"), "set_bag_size", "get_bag_size"); + ClassDB::bind_method(D_METHOD("get_entity_species_data"), &EntityData::get_entity_species_data); + ClassDB::bind_method(D_METHOD("set_entity_species_data", "value"), &EntityData::set_entity_species_data); + ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "entity_species_data", PROPERTY_HINT_RESOURCE_TYPE, "EntitySpeciesData"), "set_entity_species_data", "get_entity_species_data"); + ClassDB::bind_method(D_METHOD("get_entity_class_data"), &EntityData::get_entity_class_data); ClassDB::bind_method(D_METHOD("set_entity_class_data", "value"), &EntityData::set_entity_class_data); ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "entity_class_data", PROPERTY_HINT_RESOURCE_TYPE, "EntityClassData"), "set_entity_class_data", "get_entity_class_data"); + ClassDB::bind_method(D_METHOD("get_equipment_data"), &EntityData::get_equipment_data); + ClassDB::bind_method(D_METHOD("set_equipment_data", "value"), &EntityData::set_equipment_data); + ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "equipment_data", PROPERTY_HINT_RESOURCE_TYPE, "EquipmentData"), "set_equipment_data", "get_equipment_data"); + // Loot DB ClassDB::bind_method(D_METHOD("get_loot_db"), &EntityData::get_loot_db); ClassDB::bind_method(D_METHOD("set_loot_db", "value"), &EntityData::set_loot_db); diff --git a/entities/data/entity_data.h b/entities/data/entity_data.h index 52ede5a..2f7938d 100644 --- a/entities/data/entity_data.h +++ b/entities/data/entity_data.h @@ -2,8 +2,8 @@ #define ENTITY_DATA_H #include "core/resource.h" -#include "core/vector.h" #include "core/ustring.h" +#include "core/vector.h" #include "scene/resources/texture.h" #include "../../entities/stats/stat_data.h" @@ -23,6 +23,8 @@ #include "../../data/equipment_data.h" +#include "../../skeleton/entity_species_data.h" + class Aura; class Spell; class Entity; @@ -70,6 +72,9 @@ public: int get_bag_size(); void set_bag_size(int value); + Ref get_entity_species_data(); + void set_entity_species_data(Ref value); + Ref get_entity_class_data(); void set_entity_class_data(Ref data); @@ -94,7 +99,7 @@ public: Vector get_craft_recipes(); void set_craft_recipes(const Vector &recipe); - /* + /* Vector get_mob_party_ids(); void set_mob_party_ids(Vector ids); @@ -253,6 +258,7 @@ private: int _bag_size; Ref _entity_class_data; + Ref _entity_species_data; Ref _equipment_data; Ref _lootdb;