45 lines
715 B
C++
45 lines
715 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 ClearPassiveSkillBuff();
|
|
void AddPassiveSkillBuff();
|
|
|
|
private:
|
|
int curr_times_ = 0;
|
|
xtimer_list* inc_times_timer_ = nullptr;
|
|
};
|