1
This commit is contained in:
parent
c8261ea620
commit
11f016d4fc
@ -1535,4 +1535,19 @@ namespace MetaData
|
||||
|
||||
}
|
||||
|
||||
void GunTalentGrow::Init()
|
||||
{
|
||||
std::vector<std::string> tmp_strs1;
|
||||
a8::Split(i->addattr(), tmp_strs1, '|');
|
||||
for (std::string& str : tmp_strs1) {
|
||||
std::vector<std::string> tmp_strs2;
|
||||
a8::Split(str, tmp_strs2, ':');
|
||||
if (tmp_strs2.size() >= 2) {
|
||||
addattr.push_back(
|
||||
std::make_tuple(a8::XValue(tmp_strs2[0]), a8::XValue(tmp_strs2[1]))
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -327,6 +327,15 @@ namespace MetaData
|
||||
const metatable::KillPoint* i = nullptr;
|
||||
};
|
||||
|
||||
struct GunTalentGrow
|
||||
{
|
||||
const metatable::GunTalentGrow* i = nullptr;
|
||||
|
||||
std::vector<std::tuple<int, int>> addattr;
|
||||
|
||||
void Init();
|
||||
};
|
||||
|
||||
struct AI
|
||||
{
|
||||
const metatable::AI* i = nullptr;
|
||||
|
@ -191,6 +191,7 @@ public:
|
||||
std::list<MetaData::AI> ai_list;
|
||||
std::list<metatable::Text> text_meta_list;
|
||||
std::list<metatable::TerrainJson> terrain_meta_list;
|
||||
std::list<metatable::GunTalentGrow> talent_meta_list;
|
||||
|
||||
std::map<std::string, MetaData::Parameter*> parameter_hash;
|
||||
std::map<int, MetaData::Map*> gamemap_hash;
|
||||
@ -227,6 +228,7 @@ public:
|
||||
std::map<long long, MetaData::AI*> android_ai_hash;
|
||||
std::map<int, MetaData::AI*> ai_hash;
|
||||
std::map<std::string, std::string> text_hash;
|
||||
std::map<int, std::shared_ptr<MetaData::GunTalentGrow>> talent_hash;
|
||||
std::map<std::string, std::vector<std::tuple<int, std::string>>> text_element_hash;
|
||||
|
||||
int curr_group_id = 1001;
|
||||
@ -278,6 +280,7 @@ public:
|
||||
f8::ReadCsvMetaFile(res_path + "robot@robot.csv", robot_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "ai@ai.csv", ai_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "text@text.csv", text_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "gunTalentGrow@gunTalentGrow.csv", talent_meta_list);
|
||||
f8::ReadJsonMetaFile(res_path + "terrain.json", terrain_meta_list);
|
||||
BindToMetaData();
|
||||
#if 1
|
||||
@ -900,6 +903,13 @@ private:
|
||||
}
|
||||
}
|
||||
|
||||
for (auto& meta : talent_meta_list) {
|
||||
std::shared_ptr<MetaData::GunTalentGrow> item = std::make_shared<MetaData::GunTalentGrow>();
|
||||
item->i = &meta;
|
||||
item->Init();
|
||||
talent_hash[a8::MakeInt64(meta.talent_id(), meta.talent_lv())] = item;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private:
|
||||
@ -1224,3 +1234,9 @@ std::vector<std::tuple<int, std::string>>* MetaMgr::GetTextElements(const std::s
|
||||
auto itr = loader_->text_element_hash.find(textid);
|
||||
return itr != loader_->text_element_hash.end() ? &itr->second : nullptr;
|
||||
}
|
||||
|
||||
MetaData::GunTalentGrow* MetaMgr::GetTalent(int talent_id, int talent_lv)
|
||||
{
|
||||
auto itr = loader_->talent_hash.find(a8::MakeInt64(talent_id, talent_lv));
|
||||
return itr != loader_->talent_hash.end() ? itr->second.get() : nullptr;
|
||||
}
|
||||
|
@ -52,6 +52,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
||||
MetaData::Dress* GetDress(int dress_id);
|
||||
MetaData::Dress* RandDress();
|
||||
MetaData::RankReward* GetRankReward(int rank);
|
||||
MetaData::GunTalentGrow* GetTalent(int talent_id, int talent_lv);
|
||||
float GetRankRewardParam(int rank);
|
||||
float GetKillRewardParam(int kill_num);
|
||||
int GetRankPointParam1(int rank);
|
||||
|
@ -416,6 +416,15 @@ message Text
|
||||
optional string text = 2;
|
||||
}
|
||||
|
||||
message GunTalentGrow
|
||||
{
|
||||
optional int32 id = 1;
|
||||
optional int32 talent_id = 2;
|
||||
optional int32 talent_lv = 3;
|
||||
optional int32 addtype = 4;
|
||||
optional string addattr = 5;
|
||||
}
|
||||
|
||||
//end
|
||||
|
||||
message DoorObjJson
|
||||
|
Loading…
x
Reference in New Issue
Block a user