1
This commit is contained in:
parent
df4ed8b078
commit
a0250f9d85
@ -34,8 +34,10 @@ class MetaDataLoader
|
|||||||
public:
|
public:
|
||||||
std::list<metatable::Guild> guild_meta_list;
|
std::list<metatable::Guild> guild_meta_list;
|
||||||
std::list<MetaData::Guild> guild_list;
|
std::list<MetaData::Guild> guild_list;
|
||||||
|
std::list<metatable::Text> text_meta_list;
|
||||||
|
|
||||||
std::map<int, MetaData::Guild*> guild_hash;
|
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;
|
std::map<size_t, std::map<std::string, std::string> > dirty_words;
|
||||||
|
|
||||||
@ -63,6 +65,7 @@ public:
|
|||||||
res_path = "../res/";
|
res_path = "../res/";
|
||||||
}
|
}
|
||||||
f8::ReadCsvMetaFile(res_path + "Clan@Clan.csv", guild_meta_list);
|
f8::ReadCsvMetaFile(res_path + "Clan@Clan.csv", guild_meta_list);
|
||||||
|
f8::ReadCsvMetaFile(res_path + "text@text.csv", text_meta_list);
|
||||||
LoadDirtyWordTable();
|
LoadDirtyWordTable();
|
||||||
BindToMetaData();
|
BindToMetaData();
|
||||||
Check();
|
Check();
|
||||||
@ -102,6 +105,11 @@ private:
|
|||||||
item.Init();
|
item.Init();
|
||||||
guild_hash[item.i->grade()] = &item;
|
guild_hash[item.i->grade()] = &item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
for (auto& meta : text_meta_list) {
|
||||||
|
text_hash[meta.textid()] = meta.text();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
@ -169,3 +177,9 @@ std::string MetaMgr::ReplaceDirtyWord(const std::string& text, char c)
|
|||||||
}
|
}
|
||||||
return result;
|
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"
|
#include "metadata.h"
|
||||||
|
|
||||||
|
#define TEXT(textid, def_text) MetaMgr::Instance()->GetText(#textid, #def_text)
|
||||||
|
|
||||||
class MetaDataLoader;
|
class MetaDataLoader;
|
||||||
class MetaMgr : public a8::Singleton<MetaMgr>
|
class MetaMgr : public a8::Singleton<MetaMgr>
|
||||||
{
|
{
|
||||||
@ -18,6 +20,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
|||||||
|
|
||||||
MetaData::Guild* GetGuild(int guild_lv);
|
MetaData::Guild* GetGuild(int guild_lv);
|
||||||
std::string ReplaceDirtyWord(const std::string& text, char c);
|
std::string ReplaceDirtyWord(const std::string& text, char c);
|
||||||
|
std::string GetText(const std::string& textid, const std::string& def_text="");
|
||||||
|
|
||||||
private:
|
private:
|
||||||
MetaDataLoader* loader_ = nullptr;
|
MetaDataLoader* loader_ = nullptr;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user