This commit is contained in:
aozhiwei 2024-03-29 20:23:12 +08:00
parent 72c4d3a86f
commit 85f8371418

View File

@ -17,6 +17,17 @@ static void IncIntMap(std::map<int, int>& int_map, int key)
} }
} }
static void DecIntMap(std::map<int, int>& int_map, int key)
{
auto itr = int_map.find(key);
if (itr == int_map.end()) {
--itr->second;
if (itr->second < 0) {
itr->second = 0;
}
}
}
InGameVoice::InGameVoice(Room* room) InGameVoice::InGameVoice(Room* room)
{ {
room_ = room; room_ = room;
@ -66,49 +77,20 @@ void InGameVoice::OnHumanBeKill(int killer_id, Human* deader)
return true; return true;
}); });
} }
}
#if 0
void InGameVoice::IncPersonalSeriesKills(int killer_id)
{ {
auto itr = personal_series_kills_.find(killer_id);
if (itr != personal_series_kills_.end()) {
++itr->second;
} else {
personal_series_kills_[killer_id] = 1;
}
room_->xtimer.SetTimeoutWpEx room_->xtimer.SetTimeoutWpEx
( (
SERVER_FRAME_RATE * 30, SERVER_FRAME_RATE * 30,
[room = room_, killer_id] (int event, const a8::Args* args) [room = room_, killer_id] (int event, const a8::Args* args)
{ {
if (a8::TIMER_EXEC_EVENT == event) { if (a8::TIMER_EXEC_EVENT == event) {
room->GetInGameVoice()->personal_series_kills_.erase(killer_id); DecIntMap(room->GetInGameVoice()->personal_series_kills_, killer_id);
DecIntMap(room->GetInGameVoice()->personal_nodead_series_kills_, killer_id);
} }
}, },
&room_->xtimer_attacher_); &room_->xtimer_attacher_);
} }
void InGameVoice::IncPersonalNoDeadSeriesKills(int killer_id)
{
auto itr = personal_nodead_series_kills_.find(killer_id);
if (itr != personal_nodead_series_kills_.end()) {
++itr->second;
} else {
personal_nodead_series_kills_[killer_id] = 1;
} }
room_->xtimer.SetTimeoutWpEx
(
SERVER_FRAME_RATE * 30,
[room = room_, killer_id] (int event, const a8::Args* args)
{
if (a8::TIMER_EXEC_EVENT == event) {
room->GetInGameVoice()->personal_nodead_series_kills_.erase(killer_id);
}
},
&room_->xtimer_attacher_);
}
#endif
void InGameVoice::Notify(Human* killer, Human* deader, const mt::InGameVoice* meta) void InGameVoice::Notify(Human* killer, Human* deader, const mt::InGameVoice* meta)
{ {