修复奖杯问题
This commit is contained in:
parent
bdeb1f5ded
commit
1f80cc086e
@ -6,6 +6,8 @@
|
||||
#include "room.h"
|
||||
#include "app.h"
|
||||
|
||||
#include "framework/cpp/utils.h"
|
||||
|
||||
Android::Android():Human()
|
||||
{
|
||||
entity_type = kET_Player;
|
||||
|
@ -2218,7 +2218,12 @@ void Human::FillSMGameOver(cs::SMGameOver& msg)
|
||||
p->set_player_avatar_url(avatar_url);
|
||||
p->set_account_id(account_id);
|
||||
p->set_kills(stats.kills);
|
||||
MetaData::Cup* cup_meta = MetaMgr::Instance()->GetCup(stats.rank);
|
||||
if (cup_meta) {
|
||||
p->set_cup(cup_meta->i->icon());
|
||||
} else {
|
||||
p->set_cup(11 - stats.rank);
|
||||
}
|
||||
p->set_gold(stats.gold);
|
||||
p->set_dead_times(stats.dead_times);
|
||||
|
||||
|
@ -203,4 +203,9 @@ namespace MetaData
|
||||
const metatable::TankSkin* i = nullptr;
|
||||
};
|
||||
|
||||
struct Cup
|
||||
{
|
||||
const metatable::Cup* i = nullptr;
|
||||
};
|
||||
|
||||
}
|
||||
|
@ -35,6 +35,8 @@ public:
|
||||
std::list<MetaData::Tank> tank_list;
|
||||
std::list<metatable::TankSkin> tanktank_meta_list;
|
||||
std::list<MetaData::TankSkin> tankskin_list;
|
||||
std::list<metatable::Cup> cup_meta_list;
|
||||
std::list<MetaData::Cup> cup_list;
|
||||
std::list<metatable::Driver> driver_meta_list;
|
||||
std::list<MetaData::Driver> driver_list;
|
||||
std::list<metatable::Skill> skill_meta_list;
|
||||
@ -68,6 +70,7 @@ public:
|
||||
std::map<std::string, std::tuple<int, int>> maptpl_size_hash;
|
||||
std::map<int, MetaData::Tank*> tank_hash;
|
||||
std::map<int, MetaData::TankSkin*> tankskin_hash;
|
||||
std::map<int, MetaData::Cup*> cup_hash;
|
||||
std::vector<int> tankid_list;
|
||||
std::map<int, MetaData::Driver*> driver_hash;
|
||||
std::map<int, MetaData::Skill*> skill_hash;
|
||||
@ -100,6 +103,7 @@ public:
|
||||
f8::ReadCsvMetaFile(res_path + "safearea@safearea.csv", safearea_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "tank@tank.csv", tank_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "tankskin@tankskin.csv", tanktank_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "cup@cup.csv", cup_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "driver@driver.csv", driver_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "item@item.csv", item_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "equip@equip.csv", equip_meta_list);
|
||||
@ -238,6 +242,12 @@ private:
|
||||
tankskin_hash[item.i->tank_id()] = &item;
|
||||
}
|
||||
|
||||
for (auto& meta : cup_meta_list) {
|
||||
MetaData::Cup& item = a8::FastAppend(cup_list);
|
||||
item.i = &meta;
|
||||
cup_hash[item.i->rank()] = &item;
|
||||
}
|
||||
|
||||
for (auto& meta : driver_meta_list) {
|
||||
MetaData::Driver& item = a8::FastAppend(driver_list);
|
||||
item.i = &meta;
|
||||
@ -538,6 +548,12 @@ MetaData::TankSkin* MetaMgr::GetTankSkin(int tank_id)
|
||||
return itr != loader_->tankskin_hash.end() ? itr->second : nullptr;
|
||||
}
|
||||
|
||||
MetaData::Cup* MetaMgr::GetCup(int rank)
|
||||
{
|
||||
auto itr = loader_->cup_hash.find(rank);
|
||||
return itr != loader_->cup_hash.end() ? itr->second : nullptr;
|
||||
}
|
||||
|
||||
int MetaMgr::RandTank()
|
||||
{
|
||||
return !loader_->tankid_list.empty() ? loader_->tankid_list[rand() % loader_->tankid_list.size()] : 0;
|
||||
|
@ -40,6 +40,7 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
||||
MetaData::Driver* GetDriver(int driver_id);
|
||||
MetaData::Tank* GetTank(int tank_id);
|
||||
MetaData::TankSkin* GetTankSkin(int tank_id);
|
||||
MetaData::Cup* GetCup(int rank);
|
||||
int RandTank();
|
||||
float GetRankRewardParam(int rank);
|
||||
float GetKillRewardParam(int kill_num);
|
||||
|
@ -229,6 +229,13 @@ message TankSkin
|
||||
required int32 id = 1;
|
||||
optional int32 tank_id = 2;
|
||||
}
|
||||
|
||||
message Cup
|
||||
{
|
||||
required int32 rank = 1;
|
||||
optional int32 icon = 2;
|
||||
}
|
||||
|
||||
//end
|
||||
|
||||
message DoorObjJson
|
||||
|
Loading…
x
Reference in New Issue
Block a user