This commit is contained in:
aozhiwei 2023-02-23 15:58:32 +08:00
parent 3170292d83
commit e3b8cabcbc
2 changed files with 30 additions and 18 deletions

View File

@ -114,24 +114,30 @@ void GunGrasp::InstallTriggers()
void GunGrasp::ProcHit(GraspBuff* buff)
{
event_listeners_.push_back
(
owner_->GetTrigger()->AddListener
(
kBulletHitEvent,
[this, buff] (const a8::Args& args)
{
buff->ProcSignet(this, 1);
});
})
);
}
void GunGrasp::ProcKill(GraspBuff* buff)
{
event_listeners_.push_back
(
owner_->GetTrigger()->AddListener
(
kKillEvent,
[this, buff] (const a8::Args& args)
{
buff->ProcSignet(this, 1);
});
})
);
}
void GunGrasp::ProcTakeOn(GraspBuff* buff)
@ -146,13 +152,16 @@ void GunGrasp::ProcCond(GraspBuff* buff)
void GunGrasp::ProcHitAndEnd(GraspBuff* buff)
{
event_listeners_.push_back
(
owner_->GetTrigger()->AddListener
(
kBulletHitEvent,
[this, buff] (const a8::Args& args)
{
buff->ProcSignet(this, 1);
});
})
);
}
void GunGrasp::AddSignet(int id, int count)

View File

@ -1,5 +1,7 @@
#pragma once
#include "trigger.h"
struct GraspBuff;
class Creature;
class GunGrasp
@ -28,6 +30,7 @@ class GunGrasp
private:
Creature* owner_ = nullptr;
int hero_lv_ = 0;
std::vector<std::weak_ptr<EventHandlerPtr>> event_listeners_;
std::map<int, int> signet_hash_;
std::array<list_head, (int)GraspBuffTrigger_e::kEnd> grasp_triggers_ = {};
};