This commit is contained in:
aozhiwei 2023-03-22 10:37:32 +08:00
parent b9b7a8ec77
commit 0c1d47c1af

View File

@ -1896,7 +1896,26 @@ void PlayerMgr::_SS_Ping(f8::MsgHdr& hdr, const ss::SS_Ping& msg)
void Team::FillSMGameOver(cs::SMGameOver& msg)
{
auto p = msg.mutable_settlement_new();
std::vector<Human*> sorted_members;
for (Human* hum : members_) {
sorted_members.push_back(hum);
}
if (room->IsPveRoom()) {
std::sort(sorted_members.begin(), sorted_members.end(),
[] (Human* a, Human* b) -> bool
{
if (a->stats.pve_rank_score > b->stats.pve_rank_score) {
return true;
}
if (a->stats.pve_rank_score < b->stats.pve_rank_score) {
return false;
}
return a->GetUniId() < b->GetUniId();
});
}
int i = 0;
for (Human* hum : sorted_members) {
++i;
auto member = p->add_members();
member->set_obj_uniid(hum->GetUniId());
member->set_account_id(hum->account_id);
@ -1914,9 +1933,7 @@ void Team::FillSMGameOver(cs::SMGameOver& msg)
member->set_new_score(0);
if (room->IsPveRoom()) {
#if 0
member->set_pve_order(i);
#endif
member->set_pve_score(hum->stats.pve_rank_score);
member->set_pve_star(room->pve_mode_meta->CalcStar(hum->stats.pve_rank_score));
member->set_pve_damage(hum->stats.damage_amount_out);
@ -1935,21 +1952,4 @@ void Team::FillSMGameOver(cs::SMGameOver& msg)
//member->set_pvp_personal_rank(hum->stats.rescue_member);
}
}
if (room->IsPveRoom()) {
std::vector<const cs::MFSettlementMember*> stats;
for (auto& item : p->members()) {
stats.push_back(&item);
}
std::sort(stats.begin(), stats.end(),
[] (const cs::MFSettlementMember* a, const cs::MFSettlementMember *b) -> bool
{
if (a->pve_score() > b->pve_score()) {
return true;
}
if (a->pve_score() < b->pve_score()) {
return false;
}
return a->obj_uniid() < b->obj_uniid();
});
}
}