From 329d16df8a97fa0ddd6c95e2df6094568e132c69 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 4 Apr 2023 15:36:17 +0800 Subject: [PATCH] 1 --- server/gameserver/buff/cond_add.cc | 23 ++++++++--------------- server/gameserver/buff/cond_add.h | 2 -- 2 files changed, 8 insertions(+), 17 deletions(-) diff --git a/server/gameserver/buff/cond_add.cc b/server/gameserver/buff/cond_add.cc index 5313f7ea..de770ffa 100644 --- a/server/gameserver/buff/cond_add.cc +++ b/server/gameserver/buff/cond_add.cc @@ -61,15 +61,8 @@ void CondAddBuff::Activate() void CondAddBuff::Deactivate() { - for (auto handler : handlers_) { - if (!handler.expired()) { - owner->GetTrigger()->RemoveEventHandler(handler); - } - } - handlers_.clear(); } - void CondAddBuff::ProcBulletHit() { const bool is_same_target = meta->_int_buff_param5 ? true : false; @@ -83,7 +76,7 @@ void CondAddBuff::ProcBulletHit() long long last_hit_frameno = 0; ); - handlers_.push_back + event_handlers_.push_back ( owner->GetTrigger()->AddListener ( @@ -128,7 +121,7 @@ void CondAddBuff::ProcBulletKill() ( ); - handlers_.push_back + event_handlers_.push_back ( owner->GetTrigger()->AddListener ( @@ -217,7 +210,7 @@ void CondAddBuff::ProcDisengageBattle() owner->room->xtimer.ResetTimer(timer); }; - handlers_.push_back + event_handlers_.push_back (owner->GetTrigger()->AddListener ( kReceiveDmgEvent, @@ -289,13 +282,13 @@ void CondAddBuff::ProcLimitTimeKillTarget() } } }); - handlers_.push_back(handler); + event_handlers_.push_back(handler); context->watch_targets[target->GetUniId()] = std::make_tuple(timer_wp, handler); } } }; - handlers_.push_back + event_handlers_.push_back (owner->GetTrigger()->AddListener ( kAttackTargetEvent, @@ -311,7 +304,7 @@ void CondAddBuff::ProcReload() std::vector buffs; ); - handlers_.push_back + event_handlers_.push_back (owner->GetTrigger()->AddListener ( kStartReloadEvent, @@ -331,7 +324,7 @@ void CondAddBuff::ProcReload() ) ); - handlers_.push_back + event_handlers_.push_back (owner->GetTrigger()->AddListener ( kEndReloadEvent, @@ -349,7 +342,7 @@ void CondAddBuff::ProcReload() void CondAddBuff::ProcShot() { - handlers_.push_back + event_handlers_.push_back (owner->GetTrigger()->AddListener ( kShotEvent, diff --git a/server/gameserver/buff/cond_add.h b/server/gameserver/buff/cond_add.h index d8de312e..3298382c 100644 --- a/server/gameserver/buff/cond_add.h +++ b/server/gameserver/buff/cond_add.h @@ -32,6 +32,4 @@ class CondAddBuff : public Buff void ProcReload(); void ProcShot(); - private: - std::vector> handlers_; };