mirror of
https://github.com/Relintai/entity_spell_system.git
synced 2025-04-17 21:26:35 +02:00
Moved StatData into EntityData from EntityClassData.
This commit is contained in:
parent
19fd2ea109
commit
94d2ddf73b
@ -74,21 +74,6 @@ void EntityClassData::set_playstyle_type(EntityEnums::EntityClassPlaystyleType p
|
||||
_playstyle_type = playstyle_type;
|
||||
}
|
||||
|
||||
Ref<StatData> EntityClassData::get_stat_data() {
|
||||
if (!_stat_data.is_valid() && _inherits.is_valid()) {
|
||||
return _inherits->get_stat_data();
|
||||
}
|
||||
|
||||
if (!_stat_data.is_valid())
|
||||
return Ref<StatData>();
|
||||
|
||||
return _stat_data;
|
||||
}
|
||||
|
||||
void EntityClassData::set_stat_data(Ref<StatData> value) {
|
||||
_stat_data = value;
|
||||
}
|
||||
|
||||
//// Entity Resources ////
|
||||
|
||||
int EntityClassData::get_num_entity_resources() {
|
||||
@ -976,10 +961,6 @@ void EntityClassData::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_icon", "value"), &EntityClassData::set_icon);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "icon", PROPERTY_HINT_RESOURCE_TYPE, "Texture"), "set_icon", "get_icon");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_stat_data"), &EntityClassData::get_stat_data);
|
||||
ClassDB::bind_method(D_METHOD("set_stat_data", "value"), &EntityClassData::set_stat_data);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "stat_data", PROPERTY_HINT_RESOURCE_TYPE, "StatData"), "set_stat_data", "get_stat_data");
|
||||
|
||||
ClassDB::bind_method(D_METHOD("get_spell_points_per_level"), &EntityClassData::get_spell_points_per_level);
|
||||
ClassDB::bind_method(D_METHOD("set_spell_points_per_level", "value"), &EntityClassData::set_spell_points_per_level);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "spell_points_per_level"), "set_spell_points_per_level", "get_spell_points_per_level");
|
||||
|
@ -67,9 +67,6 @@ public:
|
||||
Ref<Texture> get_icon();
|
||||
void set_icon(Ref<Texture> value);
|
||||
|
||||
Ref<StatData> get_stat_data();
|
||||
void set_stat_data(Ref<StatData> value);
|
||||
|
||||
int get_spell_points_per_level();
|
||||
void set_spell_points_per_level(int value);
|
||||
|
||||
@ -239,8 +236,6 @@ private:
|
||||
|
||||
EntityEnums::EntityClassPlaystyleType _playstyle_type;
|
||||
|
||||
Ref<StatData> _stat_data;
|
||||
|
||||
Vector<Ref<EntityResourceData> > _entity_resources;
|
||||
Vector<Ref<CharacterSpec> > _specs;
|
||||
Vector<Ref<Spell> > _spells;
|
||||
|
@ -110,6 +110,18 @@ void EntityData::set_bag_size(const int value) {
|
||||
_bag_size = value;
|
||||
}
|
||||
|
||||
Ref<StatData> EntityData::get_stat_data() {
|
||||
if (!_stat_data.is_valid() && _inherits.is_valid()) {
|
||||
return _inherits->get_stat_data();
|
||||
}
|
||||
|
||||
return _stat_data;
|
||||
}
|
||||
|
||||
void EntityData::set_stat_data(Ref<StatData> value) {
|
||||
_stat_data = value;
|
||||
}
|
||||
|
||||
Ref<EntitySpeciesData> EntityData::get_entity_species_data() const {
|
||||
return _entity_species_data;
|
||||
}
|
||||
@ -1054,6 +1066,10 @@ 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_stat_data"), &EntityData::get_stat_data);
|
||||
ClassDB::bind_method(D_METHOD("set_stat_data", "value"), &EntityData::set_stat_data);
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "stat_data", PROPERTY_HINT_RESOURCE_TYPE, "StatData"), "set_stat_data", "get_stat_data");
|
||||
|
||||
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");
|
||||
|
@ -97,6 +97,9 @@ public:
|
||||
int get_bag_size() const;
|
||||
void set_bag_size(const int value);
|
||||
|
||||
Ref<StatData> get_stat_data();
|
||||
void set_stat_data(Ref<StatData> value);
|
||||
|
||||
Ref<EntitySpeciesData> get_entity_species_data() const;
|
||||
void set_entity_species_data(const Ref<EntitySpeciesData> &value);
|
||||
|
||||
@ -250,6 +253,7 @@ private:
|
||||
int _money;
|
||||
int _bag_size;
|
||||
|
||||
Ref<StatData> _stat_data;
|
||||
Ref<EntityClassData> _entity_class_data;
|
||||
Ref<EntitySpeciesData> _entity_species_data;
|
||||
Ref<EquipmentData> _equipment_data;
|
||||
|
@ -581,7 +581,7 @@ void Entity::_setup() {
|
||||
Ref<EntityClassData> cc = gets_entity_data()->get_entity_class_data();
|
||||
ERR_FAIL_COND(!cc.is_valid());
|
||||
|
||||
Ref<StatData> stat_data = cc->get_stat_data();
|
||||
Ref<StatData> stat_data = _s_entity_data->get_stat_data();
|
||||
|
||||
ERR_FAIL_COND(!stat_data.is_valid());
|
||||
|
||||
@ -650,7 +650,7 @@ void Entity::_setup() {
|
||||
ERR_FAIL_COND(!cc.is_valid());
|
||||
|
||||
for (int i = 0; i < ESS::get_instance()->stat_get_count(); ++i) {
|
||||
cc->get_stat_data()->get_stat_for_stat(_stats[i]);
|
||||
_s_entity_data->get_stat_data()->get_stat_for_stat(_stats[i]);
|
||||
}
|
||||
|
||||
for (int i = 0; i < ESS::get_instance()->stat_get_count(); ++i) {
|
||||
@ -6064,7 +6064,7 @@ void Entity::_notification_scharacter_level_up(int level) {
|
||||
return;
|
||||
|
||||
for (int i = 0; i < ESS::get_instance()->stat_get_main_stat_count(); ++i) {
|
||||
int st = gets_entity_data()->get_entity_class_data()->get_stat_data()->get_level_stat_data()->get_stat_diff(i, gets_character_level() - level, gets_character_level());
|
||||
int st = gets_entity_data()->get_stat_data()->get_level_stat_data()->get_stat_diff(i, gets_character_level() - level, gets_character_level());
|
||||
|
||||
Ref<Stat> stat = get_stat(i);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user