1
This commit is contained in:
parent
df4ed8b078
commit
a0250f9d85
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user