This commit is contained in:
aozhiwei 2022-09-08 09:47:01 +08:00
parent 9580acb777
commit d0d2c1470e
3 changed files with 24 additions and 0 deletions

View File

@ -1043,6 +1043,12 @@ namespace MetaData
} }
} }
} }
{
number_meta = MetaMgr::Instance()->GetSkillNumber(i->skill_id());
if (!number_meta) {
abort();
}
}
} }
void Skill::Init2() void Skill::Init2()

View File

@ -173,6 +173,8 @@ public:
std::list<MetaData::Dress> dress_list; std::list<MetaData::Dress> dress_list;
std::list<metatable::Skill> skill_meta_list; std::list<metatable::Skill> skill_meta_list;
std::list<MetaData::Skill> skill_list; std::list<MetaData::Skill> skill_list;
std::list<metatable::SkillNumber> skill_number_meta_list;
std::list<MetaData::SkillNumber> skill_number_list;
std::list<metatable::Buff> buff_meta_list; std::list<metatable::Buff> buff_meta_list;
std::list<MetaData::Buff> buff_list; std::list<MetaData::Buff> buff_list;
std::list<metatable::Attr> attr_meta_list; std::list<metatable::Attr> attr_meta_list;
@ -224,6 +226,7 @@ public:
std::map<int, MetaData::Dress*> dress_hash; std::map<int, MetaData::Dress*> dress_hash;
std::vector<MetaData::Dress*> dress_vec; std::vector<MetaData::Dress*> dress_vec;
std::map<int, MetaData::Skill*> skill_hash; std::map<int, MetaData::Skill*> skill_hash;
std::map<int, MetaData::SkillNumber*> skill_number_hash;
std::map<int, MetaData::Buff*> buff_hash; std::map<int, MetaData::Buff*> buff_hash;
std::map<int, MetaData::Attr*> attr_id_hash; std::map<int, MetaData::Attr*> attr_id_hash;
std::map<std::string, MetaData::Attr*> attr_name_hash; std::map<std::string, MetaData::Attr*> attr_name_hash;
@ -284,6 +287,7 @@ public:
f8::ReadJsonMetaFile(res_path + "maps.json", building_meta_list); f8::ReadJsonMetaFile(res_path + "maps.json", building_meta_list);
f8::ReadCsvMetaFile(res_path + "dress@dress.csv", dress_meta_list); f8::ReadCsvMetaFile(res_path + "dress@dress.csv", dress_meta_list);
f8::ReadCsvMetaFile(res_path + "skill@skill.csv", skill_meta_list); f8::ReadCsvMetaFile(res_path + "skill@skill.csv", skill_meta_list);
f8::ReadCsvMetaFile(res_path + "skillNumber@skillNumber.csv", skill_number_meta_list);
f8::ReadCsvMetaFile(res_path + "attr@attr.csv", attr_meta_list); f8::ReadCsvMetaFile(res_path + "attr@attr.csv", attr_meta_list);
f8::ReadCsvMetaFile(res_path + "rankReward@rankReward.csv", rankreward_meta_list); f8::ReadCsvMetaFile(res_path + "rankReward@rankReward.csv", rankreward_meta_list);
f8::ReadCsvMetaFile(res_path + "killReward@killReward.csv", killreward_meta_list); f8::ReadCsvMetaFile(res_path + "killReward@killReward.csv", killreward_meta_list);
@ -857,6 +861,13 @@ private:
attr_name_hash[item.i->attr_ename()] = &item; attr_name_hash[item.i->attr_ename()] = &item;
} }
for (auto& meta : skill_number_meta_list) {
MetaData::SkillNumber& item = a8::FastAppend(skill_number_list);
item.pb = &meta;
item.Init();
skill_number_hash[item.pb->skill_id()] = &item;
}
for (auto& meta : skill_meta_list) { for (auto& meta : skill_meta_list) {
MetaData::Skill& item = a8::FastAppend(skill_list); MetaData::Skill& item = a8::FastAppend(skill_list);
item.i = &meta; item.i = &meta;
@ -1153,6 +1164,12 @@ MetaData::AirLine* MetaMgr::RandAirLine(int map_id)
} }
} }
MetaData::SkillNumber* MetaMgr::GetSkillNumber(int skill_id)
{
auto itr = loader_->skill_number_hash.find(skill_id);
return itr != loader_->skill_number_hash.end() ? itr->second : nullptr;
}
MetaData::Skill* MetaMgr::GetSkill(int skill_id) MetaData::Skill* MetaMgr::GetSkill(int skill_id)
{ {
auto itr = loader_->skill_hash.find(skill_id); auto itr = loader_->skill_hash.find(skill_id);

View File

@ -46,6 +46,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
MetaData::AirRaid* GetAirRaid(int airraid_id); MetaData::AirRaid* GetAirRaid(int airraid_id);
MetaData::AirLine* RandAirLine(int map_id); MetaData::AirLine* RandAirLine(int map_id);
MetaData::Skill* GetSkill(int skill_id); MetaData::Skill* GetSkill(int skill_id);
MetaData::SkillNumber* GetSkillNumber(int skill_id);
MetaData::Buff* GetBuff(int buff_id); MetaData::Buff* GetBuff(int buff_id);
MetaData::Attr* GetAttrById(int attr_id); MetaData::Attr* GetAttrById(int attr_id);
MetaData::Attr* GetAttrByName(const std::string& attr_name); MetaData::Attr* GetAttrByName(const std::string& attr_name);