This commit is contained in:
aozhiwei 2023-09-25 18:37:30 +08:00
parent 1f6c7e7996
commit 3377c1021e

View File

@ -1768,6 +1768,41 @@ void Player::_CMSetRevivePosition(f8::MsgHdr& hdr, const cs::CMSetRevivePosition
void Player::_CMGetSettlementTeamList(f8::MsgHdr& hdr, const cs::CMGetSettlementTeamList& msg) void Player::_CMGetSettlementTeamList(f8::MsgHdr& hdr, const cs::CMGetSettlementTeamList& msg)
{ {
cs::CMGetSettlementTeamList rspmsg; cs::SMGetSettlementTeamList rspmsg;
std::vector<Team*> sorted_teams;
room->TraverseTeams
(
[&sorted_teams] (Team* team) -> bool
{
sorted_teams.push_back(team);
return true;
}
);
std::sort(sorted_teams.begin(), sorted_teams.end(),
[] (Team* a, Team *b) -> bool
{
if (a->team_rank == 0 && b->team_rank == 0) {
return a->GetTeamId() < b->GetTeamId();
}
return a->team_rank < b->team_rank;
});
int team_rank = 1;
for (auto& team : sorted_teams) {
auto p = rspmsg.add_team_list();
p->set_team_id(team->GetTeamId());
p->set_team_rank(team_rank);
team->TraverseMembers
(
[p] (Human* hum) -> bool
{
auto m = p->add_members();
m->set_obj_uniid(hum->GetUniId());
m->set_account_id(hum->account_id);
m->set_name(hum->name);
m->set_hero_id(hum->meta->id());
return true;
});
++team_rank;
}
SendNotifyMsg(rspmsg); SendNotifyMsg(rspmsg);
} }