This commit is contained in:
aozhiwei 2023-03-04 19:55:38 +08:00
parent 50637c9b0b
commit 43a1d7adf3
4 changed files with 12 additions and 6 deletions

View File

@ -2,6 +2,11 @@
#include "buff.h"
A8_DECLARE_CLASS_ENUM(BuffCallFunc_e, int,
kAddMinorMode = 5,
);
class CallFuncBuff : public Buff
{
public:

View File

@ -36,7 +36,7 @@ void HoldShieldBuff::Activate()
(
SMT_BLINK,
SkillHelper::GetLdfyBuffTime(owner, skill_meta) * 1000,
[this, c]
[this, c] (int action)
{
c->RemoveBuffByEffectId(kBET_HoldShield);
if (meta->_buff_param1_int_list.size() > 1) {

View File

@ -167,7 +167,7 @@ int Skill::GetMaxExp()
void Skill::AddMinorMode(
int minor_type,
int minor_cd_time,
std::function<void()> cb
std::function<void(int)> cb
)
{
if (!minor_mode_timer_.expired()) {
@ -186,6 +186,7 @@ void Skill::AddMinorMode(
minor_type_ = SMT_NONE;
minor_cd_time_ = 0;
minor_frameno_ = 0;
minor_cb_(0);
minor_cb_ = nullptr;
}
},
@ -209,7 +210,7 @@ void Skill::AddMinorMode(
void Skill::DoMinorMode()
{
if (GetMinorType() != SMT_NONE) {
minor_cb_();
minor_cb_(1);
minor_type_ = SMT_NONE;
minor_cd_time_ = 0;
minor_cb_ = nullptr;
@ -1217,7 +1218,7 @@ void Skill::ProcForthBackJumpPhase(const mt::SkillPhase* phase)
phase->param2.GetInt() * 1000,
#endif
[this, pre_pos, pre_dir, buff_id1, buff_id2, buff_id3, land_effect_buff_uniid,
skill_meta] () {
skill_meta] (int action) {
glm::vec3 old_dir = owner->GetMoveDir();
Position old_pos = owner->GetPos();
float distance = owner->GetPos().Distance2D2(pre_pos);

View File

@ -39,7 +39,7 @@ class Skill
void AddMinorMode(
int minor_type,
int minor_cd_time,
std::function<void()> cb
std::function<void(int)> cb
);
void DoMinorMode();
void ProcSkillPhase(const mt::SkillPhase* phase);
@ -75,7 +75,7 @@ private:
int minor_type_ = 0;
int minor_cd_time_ = 0;
long long minor_frameno_ = 0;
std::function<void()> minor_cb_;
std::function<void(int)> minor_cb_;
friend class PBUtils;
};