This commit is contained in:
aozhiwei 2019-11-21 19:18:35 +08:00
parent 8e278d5817
commit 1e3f4023fa
3 changed files with 23 additions and 2 deletions

View File

@ -15,6 +15,8 @@ public:
std::list<MetaData::Parameter> parameter_list;
std::list<metatable::Map> map_meta_list;
std::list<MetaData::Map> map_list;
std::list<metatable::Snake> snake_meta_list;
std::list<MetaData::Snake> snake_list;
std::list<metatable::RankReward> rankreward_meta_list;
std::list<MetaData::RankReward> rankreward_list;
std::list<metatable::KillReward> killreward_meta_list;
@ -28,6 +30,7 @@ public:
std::map<std::string, MetaData::Parameter*> parameter_hash;
std::map<int, MetaData::Map*> gamemap_hash;
std::map<int, MetaData::Snake*> snake_hash;
std::map<int, MetaData::RankReward*> rankreward_hash;
std::map<int, MetaData::KillReward*> killreward_hash;
std::map<int, MetaData::RankPoint*> rankpoint_hash;
@ -53,6 +56,7 @@ public:
f8::ReadCsvMetaFile(res_path + "parameter@parameter.csv", parameter_meta_list);
f8::ReadCsvMetaFile(res_path + "map@map.csv", map_meta_list);
f8::ReadCsvMetaFile(res_path + "snake@snake.csv", snake_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 + "killPoint@killPoint.csv", killpoint_meta_list);
@ -100,6 +104,15 @@ private:
}
}
{
for (auto& meta : snake_meta_list) {
MetaData::Snake& item = a8::FastAppend(snake_list);
item.p = &meta;
item.Init();
snake_hash[item.p->snake_id()] = &item;
}
}
for (auto& meta : rankreward_meta_list) {
MetaData::RankReward& item = a8::FastAppend(rankreward_list);
item.p = &meta;
@ -182,6 +195,12 @@ MetaData::Map* MetaMgr::GetMap(int map_id)
return itr != loader_->gamemap_hash.end() ? itr->second : nullptr;
}
MetaData::Snake* MetaMgr::GetSnake(int snake_id)
{
auto itr = loader_->snake_hash.find(snake_id);
return itr != loader_->snake_hash.end() ? itr->second : nullptr;
}
float MetaMgr::GetRankRewardParam(int rank)
{
auto itr = loader_->rankreward_hash.find(rank);

View File

@ -20,6 +20,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
double GetSysParamAsFloat(const std::string& param_name, double def_val = 0.0f);
std::string GetSysParamAsString(const std::string& param_name, const char* def_val = "");
MetaData::Map* GetMap(int map_id);
MetaData::Snake* GetSnake(int snake_id);
float GetRankRewardParam(int rank);
float GetKillRewardParam(int kill_num);
int GetRankPointParam1(int rank);

View File

@ -14,7 +14,8 @@ message Parameter
message Snake
{
optional float radius = 1;
optional int32 snake_id = 100;
optional float init_radius = 1;
optional float interval = 2;
optional float speed_normal = 3;
optional float level_of_accelation = 4;
@ -29,7 +30,7 @@ message Snake
optional float attenuation_interval = 13;
optional float single_value = 14;
optional float stop_accelation = 15;
optional int32 body_num = 16;
optional int32 init_body_size = 16;
optional int32 begin_length = 17;
optional float body_index = 18;
optional float max_body = 19;