From fa4749f28db667db4b8b1d99c470024100075831 Mon Sep 17 00:00:00 2001 From: Relintai Date: Fri, 4 Oct 2019 22:55:46 +0200 Subject: [PATCH] Fixed small mistakes in player's serialization, and deserialization. --- data/data_manager.cpp | 3 ++- entities/entity.cpp | 18 +++++++++++------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/data/data_manager.cpp b/data/data_manager.cpp index 8f6948c..144eff1 100644 --- a/data/data_manager.cpp +++ b/data/data_manager.cpp @@ -50,7 +50,8 @@ Vector > *DataManager::get_entity_datas() { } Ref DataManager::get_entity_data(int class_id) { - ERR_FAIL_COND_V(!_entity_data_map.has(class_id), Ref(NULL)); + if (!_entity_data_map.has(class_id)) + return Ref(NULL); return _entity_data_map.get(class_id); } diff --git a/entities/entity.cpp b/entities/entity.cpp index 124aecf..09d9878 100644 --- a/entities/entity.cpp +++ b/entities/entity.cpp @@ -263,7 +263,7 @@ void Entity::_setup() { if (_s_entity_controller == EntityEnums::ENITIY_CONTROLLER_NONE) sets_entity_controller(_s_entity_data->get_entity_controller()); - sets_entity_name(_s_entity_data->get_entity_name()); + //sets_entity_name(_s_entity_data->get_entity_name()); sets_money(_s_entity_data->get_money()); } @@ -431,7 +431,7 @@ void Entity::_from_dict(const Dictionary &dict) { for (int i = 0; i < Stat::STAT_ID_TOTAL_STATS; ++i) { Ref s = _stats[i]; - s->from_dict(stats.get(i, Dictionary())); + s->from_dict(stats.get(String::num(i), Dictionary())); } //// Resources //// @@ -445,7 +445,7 @@ void Entity::_from_dict(const Dictionary &dict) { Ref r; r.instance(); - r->from_dict(rd.get(i, Dictionary())); + r->from_dict(rd.get(String::num(i), Dictionary())); adds_resource(r); } @@ -477,7 +477,7 @@ void Entity::_from_dict(const Dictionary &dict) { Ref r; r.instance(); - r->from_dict(auras.get(i, Dictionary())); + r->from_dict(auras.get(String::num(i), Dictionary())); _s_auras.push_back(r); _c_auras.push_back(r); @@ -499,7 +499,7 @@ void Entity::_from_dict(const Dictionary &dict) { Ref cd; cd.instance(); - cd->from_dict(cds.get(i, Dictionary())); + cd->from_dict(cds.get(String::num(i), Dictionary())); _s_cooldowns.push_back(cd); _c_cooldowns.push_back(cd); @@ -511,7 +511,7 @@ void Entity::_from_dict(const Dictionary &dict) { Ref ccd; ccd.instance(); - ccd->from_dict(ccds.get(i, Dictionary())); + ccd->from_dict(ccds.get(String::num(i), Dictionary())); _s_category_cooldowns.push_back(ccd); _c_category_cooldowns.push_back(ccd); @@ -549,7 +549,7 @@ void Entity::_from_dict(const Dictionary &dict) { Ref r; r.instance(); - r->from_dict(skills.get(i, Dictionary())); + r->from_dict(skills.get(String::num(i), Dictionary())); _s_skills.push_back(r); _c_skills.push_back(r); @@ -569,6 +569,10 @@ void Entity::_from_dict(const Dictionary &dict) { _s_bag->from_dict(bagd); } } + + if (DataManager::get_instance() != NULL) { + sets_entity_data(DataManager::get_instance()->get_entity_data(gets_entity_data_id())); + } } Entity::Entity() {