This commit is contained in:
aozhiwei 2020-12-24 11:01:19 +08:00
parent df4ed8b078
commit a0250f9d85
2 changed files with 17 additions and 0 deletions

View File

@ -34,8 +34,10 @@ class MetaDataLoader
public:
std::list<metatable::Guild> guild_meta_list;
std::list<MetaData::Guild> guild_list;
std::list<metatable::Text> text_meta_list;
std::map<int, MetaData::Guild*> guild_hash;
std::map<std::string, std::string> text_hash;
std::map<size_t, std::map<std::string, std::string> > dirty_words;
@ -63,6 +65,7 @@ public:
res_path = "../res/";
}
f8::ReadCsvMetaFile(res_path + "Clan@Clan.csv", guild_meta_list);
f8::ReadCsvMetaFile(res_path + "text@text.csv", text_meta_list);
LoadDirtyWordTable();
BindToMetaData();
Check();
@ -102,6 +105,11 @@ private:
item.Init();
guild_hash[item.i->grade()] = &item;
}
for (auto& meta : text_meta_list) {
text_hash[meta.textid()] = meta.text();
}
}
private:
@ -169,3 +177,9 @@ std::string MetaMgr::ReplaceDirtyWord(const std::string& text, char c)
}
return result;
}
std::string MetaMgr::GetText(const std::string& textid, const std::string& def_text)
{
auto itr = loader_->text_hash.find(textid);
return itr != loader_->text_hash.end() ? itr->second : def_text;
}

View File

@ -2,6 +2,8 @@
#include "metadata.h"
#define TEXT(textid, def_text) MetaMgr::Instance()->GetText(#textid, #def_text)
class MetaDataLoader;
class MetaMgr : public a8::Singleton<MetaMgr>
{
@ -18,6 +20,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
MetaData::Guild* GetGuild(int guild_lv);
std::string ReplaceDirtyWord(const std::string& text, char c);
std::string GetText(const std::string& textid, const std::string& def_text="");
private:
MetaDataLoader* loader_ = nullptr;