aozhiwei d8bceb9398 1
2021-04-14 11:24:09 +08:00

48 lines
778 B
C++

#pragma once
namespace MetaData
{
struct Skill;
}
namespace cs
{
class MFSkill;
}
enum SkillType_e
{
kActiveSkill = 1,
kPassiveSkill = 2
};
struct xtimer_list;
class Creature;
class Skill
{
public:
Creature* owner = nullptr;
MetaData::Skill* meta = nullptr;
long long last_use_frameno = 0;
a8::XTimerAttacher xtimer_attacher;
void Initialzie();
int GetCd();
int GetLeftTime();
int GetPassedTime();
int GetCurrTimes();
int GetMaxTimes();
void DecTimes();
void FillMFSkill(cs::MFSkill* skill_pb);
void ResetSkillCd();
void ClearPassiveSkillBuff();
void AddPassiveSkillBuff();
private:
void NotifySkillState();
private:
int curr_times_ = 0;
xtimer_list* inc_times_timer_ = nullptr;
};