1
This commit is contained in:
parent
72db3ca30b
commit
d5e50db1c5
@ -25,6 +25,7 @@ void RawTeamMember::FillMFMatchTeamMember(cs::MFMatchTeamMember* p)
|
||||
p->set_is_leader(is_leader);
|
||||
p->set_state(state);
|
||||
p->set_head(msg.head());
|
||||
p->set_hero_skin(msg.hero_skin());
|
||||
}
|
||||
|
||||
void RawTeamMember::InitRobot()
|
||||
@ -36,13 +37,26 @@ void RawTeamMember::InitRobot()
|
||||
std::set<int> refreshed_robot_set;
|
||||
robot_meta = MetaMgr::Instance()->RandRobot(refreshed_robot_set);
|
||||
if (robot_meta) {
|
||||
#if 1
|
||||
msg.set_hero_id(30100);
|
||||
#else
|
||||
msg.set_hero_id(robot_meta->i->hero_id());
|
||||
#endif
|
||||
msg.set_name(robot_meta->i->name());
|
||||
auto skin = msg.add_skins();
|
||||
if (!robot_meta->skin_id.empty()) {
|
||||
skin->set_skin_id(robot_meta->skin_id[0]);
|
||||
skin->set_skin_lv(1);
|
||||
}
|
||||
{
|
||||
MetaData::Player* hero_meta = MetaMgr::Instance()->GetPlayer(msg.hero_id());
|
||||
if (hero_meta) {
|
||||
MetaData::PlayerSkin* skin_meta = MetaMgr::Instance()->GetPlayerSkin(hero_meta->i->skinlist());
|
||||
if (skin_meta) {
|
||||
msg.set_hero_skin(skin_meta->i->id());
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
abort();
|
||||
}
|
||||
@ -86,6 +100,7 @@ void MatchTeam::_CMMatchChoose(f8::MsgHdr& hdr, const cs::CMMatchChoose& msg)
|
||||
*member->msg.mutable_skins() = msg.skins();
|
||||
*member->msg.mutable_skill_list() = msg.skill_list();
|
||||
*member->msg.mutable_baseskin() = msg.baseskin();
|
||||
member->msg.set_hero_skin(msg.hero_skin());
|
||||
++member->choose_hero_times;
|
||||
}
|
||||
}
|
||||
|
@ -535,6 +535,11 @@ namespace MetaData
|
||||
}
|
||||
}
|
||||
|
||||
void PlayerSkin::Init()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Robot::Init()
|
||||
{
|
||||
{
|
||||
|
@ -128,6 +128,13 @@ namespace MetaData
|
||||
void Init();
|
||||
};
|
||||
|
||||
struct PlayerSkin
|
||||
{
|
||||
const metatable::PlayerSkin* i = nullptr;
|
||||
|
||||
void Init();
|
||||
};
|
||||
|
||||
struct Robot
|
||||
{
|
||||
const metatable::Robot* i = nullptr;
|
||||
|
@ -153,6 +153,8 @@ public:
|
||||
std::list<MetaData::Equip> equip_list;
|
||||
std::list<metatable::Player> player_meta_list;
|
||||
std::list<MetaData::Player> player_list;
|
||||
std::list<metatable::PlayerSkin> playerskin_meta_list;
|
||||
std::list<MetaData::PlayerSkin> playerskin_list;
|
||||
std::list<metatable::MapThing> mapthing_meta_list;
|
||||
std::list<MetaData::MapThing> mapthing_list;
|
||||
std::list<metatable::BuildingJson> building_meta_list;
|
||||
@ -200,6 +202,7 @@ public:
|
||||
std::map<int, MetaData::Equip*> equip_hash;
|
||||
std::map<int, MetaData::Equip*> equip_slot_hash;
|
||||
std::map<int, MetaData::Player*> player_hash;
|
||||
std::map<int, MetaData::PlayerSkin*> playerskin_hash;
|
||||
std::map<int, MetaData::MapThing*> mapthing_hash;
|
||||
std::map<int, MetaData::Building*> building_hash;
|
||||
std::map<int, MetaData::Drop*> drop_hash;
|
||||
@ -256,7 +259,7 @@ public:
|
||||
f8::ReadCsvMetaFile(res_path + "buff@buff.csv", buff_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "equip@equip.csv", equip_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "player@player.csv", player_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "player@player.csv", player_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "playerskin@playerskin.csv", playerskin_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "mapThing@mapThing.csv", mapthing_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "drop@drop.csv", drop_meta_list);
|
||||
f8::ReadCsvMetaFile(res_path + "airdrop@airdrop.csv", airdrop_meta_list);
|
||||
@ -748,6 +751,13 @@ private:
|
||||
player_hash[item.i->id()] = &item;
|
||||
}
|
||||
|
||||
for (auto& meta : playerskin_meta_list) {
|
||||
MetaData::PlayerSkin& item = a8::FastAppend(playerskin_list);
|
||||
item.i = &meta;
|
||||
item.Init();
|
||||
playerskin_hash[item.i->id()] = &item;
|
||||
}
|
||||
|
||||
for (auto& meta : mapthing_meta_list) {
|
||||
MetaData::MapThing& item = a8::FastAppend(mapthing_list);
|
||||
item.i = &meta;
|
||||
@ -945,6 +955,18 @@ MetaData::Player* MetaMgr::GetPlayer(int id)
|
||||
return itr != loader_->player_hash.end() ? itr->second : nullptr;
|
||||
}
|
||||
|
||||
MetaData::PlayerSkin* MetaMgr::GetPlayerSkin(int id)
|
||||
{
|
||||
auto itr = loader_->playerskin_hash.find(id);
|
||||
return itr != loader_->playerskin_hash.end() ? itr->second : nullptr;
|
||||
}
|
||||
|
||||
std::shared_ptr<std::vector<MetaData::PlayerSkin*>> MetaMgr::GetHeroSkins(int hero_id)
|
||||
{
|
||||
std::shared_ptr<std::vector<MetaData::PlayerSkin*>> p;
|
||||
return p;
|
||||
}
|
||||
|
||||
MetaData::Equip* MetaMgr::GetEquip(int id)
|
||||
{
|
||||
auto itr = loader_->equip_hash.find(id);
|
||||
|
@ -25,6 +25,8 @@ class MetaMgr : public a8::Singleton<MetaMgr>
|
||||
std::list<MetaData::Map>* GetMaps();
|
||||
MetaData::MapThing* GetMapThing(int mapthing_id);
|
||||
MetaData::Player* GetPlayer(int id);
|
||||
MetaData::PlayerSkin* GetPlayerSkin(int id);
|
||||
std::shared_ptr<std::vector<MetaData::PlayerSkin*>> GetHeroSkins(int hero_id);
|
||||
MetaData::Equip* GetEquip(int id);
|
||||
MetaData::Equip* GetEquipBySlotId(int slot_id);
|
||||
MetaData::EquipUpgrade* GetEquipUpgrade(int equip_id);
|
||||
|
@ -948,6 +948,7 @@ message CMJoin
|
||||
当服务器判断确实需要显示组队UI时回复SMShowTeamUI,否则正常进游戏
|
||||
*/
|
||||
optional int32 show_team_ui = 62;
|
||||
optional int32 hero_skin = 63; //英雄皮肤
|
||||
}
|
||||
|
||||
//断线重连
|
||||
|
@ -220,6 +220,15 @@ message Player
|
||||
optional int32 delay_delete = 39;
|
||||
optional int32 ai = 46;
|
||||
optional int32 delay_remove = 47;
|
||||
optional int32 skinlist = 48;
|
||||
}
|
||||
|
||||
message PlayerSkin
|
||||
{
|
||||
optional int32 id = 1;
|
||||
optional int32 itemid = 2;
|
||||
optional int32 playerid = 3;
|
||||
optional int32 skinid = 4;
|
||||
}
|
||||
|
||||
message Robot
|
||||
|
Loading…
x
Reference in New Issue
Block a user