From e14cdf0262224b771dff6d1fa8edf7db3cbbff32 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 31 Mar 2024 21:54:26 +0800 Subject: [PATCH] 1 --- server/gameserver/ingamevoice.cc | 31 ++++++++++++++++++------------- server/gameserver/ingamevoice.h | 1 + 2 files changed, 19 insertions(+), 13 deletions(-) diff --git a/server/gameserver/ingamevoice.cc b/server/gameserver/ingamevoice.cc index 2a78c9e2..a05089fb 100644 --- a/server/gameserver/ingamevoice.cc +++ b/server/gameserver/ingamevoice.cc @@ -65,19 +65,7 @@ void InGameVoice::OnHumanBeKill(int killer_id, Human* deader) if (!killer->dead) { IncIntMap(personal_nodead_series_kills_, killer_id); } - { - mt::InGameVoice::Traverse - ( - room_->IsMobaModeRoom(), - InGameVoiceEventType_e::kGlobalKills, - [this, killer, deader] (const mt::InGameVoice* meta) -> bool - { - if (meta->MatchCond(global_kills_)) { - Notify(killer, deader, meta); - } - return true; - }); - } + TriggerEvent(killer, deader); { room_->xtimer.SetTimeoutWpEx ( @@ -119,3 +107,20 @@ a8::Attacher* InGameVoice::GetNoDeadTimerAttacher(int killer_id) } return &itr->second; } + +void InGameVoice::TriggerEvent(Human* killer, Human* deader) +{ + { + mt::InGameVoice::Traverse + ( + room_->IsMobaModeRoom(), + InGameVoiceEventType_e::kGlobalKills, + [this, killer, deader] (const mt::InGameVoice* meta) -> bool + { + if (meta->MatchCond(global_kills_)) { + Notify(killer, deader, meta); + } + return true; + }); + } +} diff --git a/server/gameserver/ingamevoice.h b/server/gameserver/ingamevoice.h index 920b7578..3d3b48a5 100644 --- a/server/gameserver/ingamevoice.h +++ b/server/gameserver/ingamevoice.h @@ -18,6 +18,7 @@ class InGameVoice : public std::enable_shared_from_this private: void UpdateTeamBeKillLastTime(int team_id); a8::Attacher* GetNoDeadTimerAttacher(int killer_id); + void TriggerEvent(Human* killer, Human* deader); void Notify(Human* killer, Human* deader, const mt::InGameVoice* meta);