1
This commit is contained in:
parent
1f6c7e7996
commit
3377c1021e
@ -1768,6 +1768,41 @@ void Player::_CMSetRevivePosition(f8::MsgHdr& hdr, const cs::CMSetRevivePosition
|
||||
|
||||
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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user