Removed separate mob data storage from EntityDataManager.

This commit is contained in:
Relintai 2020-04-13 23:11:53 +02:00
parent b2d4be96ea
commit 7dff7e87f1
2 changed files with 0 additions and 110 deletions

View File

@ -337,39 +337,6 @@ int EntityDataManager::get_item_template_count() {
return _item_templates.size();
}
String EntityDataManager::get_mob_data_folder() {
return _mob_data_folder;
}
void EntityDataManager::set_mob_data_folder(String folder) {
_mob_data_folder = folder;
}
Vector<Ref<EntityData> > *EntityDataManager::get_mob_datas() {
return &_mob_datas;
}
void EntityDataManager::add_mob_data(const Ref<EntityData> &cda) {
ERR_FAIL_COND(!cda.is_valid());
_mob_datas.push_back(cda);
_mob_data_map.set(cda->get_id(), cda);
}
Ref<EntityData> EntityDataManager::get_mob_data(int item_id) {
ERR_FAIL_COND_V_MSG(!_mob_data_map.has(item_id), Ref<EntityData>(), "Could not find EntityData! Id:" + String::num(item_id));
return _mob_data_map.get(item_id);
}
Ref<EntityData> EntityDataManager::get_mob_data_index(int index) {
ERR_FAIL_INDEX_V(index, _mob_datas.size(), Ref<EntityData>());
return _mob_datas.get(index);
}
int EntityDataManager::get_mob_data_count() {
return _mob_datas.size();
}
String EntityDataManager::get_player_character_data_folder() {
return _player_character_data_folder;
}
@ -438,7 +405,6 @@ void EntityDataManager::load_all() {
load_characters();
load_craft_datas();
load_item_templates();
load_mob_datas();
load_player_character_datas();
load_entity_species_datas();
}
@ -807,54 +773,6 @@ void EntityDataManager::load_item_templates() {
}
}
void EntityDataManager::load_mob_datas() {
_Directory dir;
ERR_FAIL_COND(_mob_data_folder.ends_with("/"));
if (dir.open(_mob_data_folder) == OK) {
dir.list_dir_begin();
String filename;
while (true) {
filename = dir.get_next();
if (filename == "")
break;
if (!dir.current_is_dir()) {
String path = _mob_data_folder + "/" + filename;
_ResourceLoader *rl = _ResourceLoader::get_singleton();
#if VERSION_MAJOR < 4
Ref<ResourceInteractiveLoader> resl = rl->load_interactive(path, "EntityData");
ERR_CONTINUE(!resl.is_valid());
resl->wait();
Ref<Resource> s = resl->get_resource();
#else
Ref<Resource> s = rl->load(path, "EntityData");
#endif
ERR_CONTINUE(!s.is_valid());
Ref<EntityData> mob_data = s;
ERR_CONTINUE(!mob_data.is_valid());
add_mob_data(mob_data);
}
}
} else {
print_error("An error occurred when trying to access the path.");
}
}
void EntityDataManager::load_player_character_datas() {
_Directory dir;
@ -1075,16 +993,6 @@ void EntityDataManager::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_item_template_index", "index"), &EntityDataManager::get_item_template_index);
ClassDB::bind_method(D_METHOD("get_item_template_count"), &EntityDataManager::get_item_template_count);
//Mob Data
ClassDB::bind_method(D_METHOD("get_mob_data_folder"), &EntityDataManager::get_mob_data_folder);
ClassDB::bind_method(D_METHOD("set_mob_data_folder", "folder"), &EntityDataManager::set_mob_data_folder);
ADD_PROPERTY(PropertyInfo(Variant::STRING, "mob_data_folder"), "set_mob_data_folder", "get_mob_data_folder");
ClassDB::bind_method(D_METHOD("add_mob_data", "mob_data"), &EntityDataManager::add_mob_data);
ClassDB::bind_method(D_METHOD("get_mob_data", "mob_data_id"), &EntityDataManager::get_mob_data);
ClassDB::bind_method(D_METHOD("get_mob_data_index", "index"), &EntityDataManager::get_mob_data_index);
ClassDB::bind_method(D_METHOD("get_mob_data_count"), &EntityDataManager::get_mob_data_count);
//Player Character Data
ClassDB::bind_method(D_METHOD("get_player_character_data_folder"), &EntityDataManager::get_player_character_data_folder);
ClassDB::bind_method(D_METHOD("set_player_character_data_folder", "folder"), &EntityDataManager::set_player_character_data_folder);
@ -1115,7 +1023,6 @@ void EntityDataManager::_bind_methods() {
ClassDB::bind_method(D_METHOD("load_characters"), &EntityDataManager::load_characters);
ClassDB::bind_method(D_METHOD("load_craft_datas"), &EntityDataManager::load_craft_datas);
ClassDB::bind_method(D_METHOD("load_item_templates"), &EntityDataManager::load_item_templates);
ClassDB::bind_method(D_METHOD("load_mob_datas"), &EntityDataManager::load_mob_datas);
ClassDB::bind_method(D_METHOD("load_player_character_datas"), &EntityDataManager::load_player_character_datas);
ClassDB::bind_method(D_METHOD("load_entity_species_datas"), &EntityDataManager::load_entity_species_datas);
@ -1147,7 +1054,6 @@ EntityDataManager::EntityDataManager() {
_auras_folder = GLOBAL_DEF("ess/data/auras_folder", "");
_craft_data_folder = GLOBAL_DEF("ess/data/craft_data_folder", "");
_item_template_folder = GLOBAL_DEF("ess/data/item_template_folder", "");
_mob_data_folder = GLOBAL_DEF("ess/data/mob_data_folder", "");
_player_character_data_folder = GLOBAL_DEF("ess/data/player_character_data_folder", "");
_entity_species_data_folder = GLOBAL_DEF("ess/data/entity_species_data_folder", "");
@ -1180,9 +1086,6 @@ EntityDataManager::~EntityDataManager() {
_item_templates.clear();
_item_template_map.clear();
_mob_datas.clear();
_mob_data_map.clear();
_player_character_datas.clear();
_player_character_data_map.clear();

View File

@ -146,14 +146,6 @@ public:
Ref<ItemTemplate> get_item_template_index(int index);
int get_item_template_count();
String get_mob_data_folder();
void set_mob_data_folder(String folder);
Vector<Ref<EntityData> > *get_mob_datas();
void add_mob_data(const Ref<EntityData> &aura);
Ref<EntityData> get_mob_data(int item_id);
Ref<EntityData> get_mob_data_index(int index);
int get_mob_data_count();
String get_player_character_data_folder();
void set_player_character_data_folder(String folder);
Vector<Ref<EntityData> > *get_player_character_datas();
@ -179,7 +171,6 @@ public:
void load_characters();
void load_craft_datas();
void load_item_templates();
void load_mob_datas();
void load_player_character_datas();
void load_entity_species_datas();
@ -224,10 +215,6 @@ private:
Vector<Ref<ItemTemplate> > _item_templates;
HashMap<int, Ref<ItemTemplate> > _item_template_map;
String _mob_data_folder;
Vector<Ref<EntityData> > _mob_datas;
HashMap<int, Ref<EntityData> > _mob_data_map;
String _player_character_data_folder;
Vector<Ref<EntityData> > _player_character_datas;
HashMap<int, Ref<EntityData> > _player_character_data_map;