载入中...
搜索中...
未找到
SkillSystem.h
浏览该文件的文档.
Definition SkillSystem.h:20
static bool forget(RPGActor *actor, const std::string &skillId)
Definition SkillSystem.cpp:66
static void update(float dt)
遍历 RPGActor::liveActors():冷却倒计时 + 读条推进/结算。
Definition SkillSystem.cpp:144
static std::string getCastingSkillId(RPGActor *actor)
Definition SkillSystem.cpp:132
static void setCooldownRemaining(RPGActor *actor, const std::string &skillId, float seconds)
Definition SkillSystem.cpp:78
static bool isCasting(RPGActor *actor)
Definition SkillSystem.cpp:130
static void clearCastConditions()
Definition SkillSystem.cpp:53
static void unregisterCastCondition(const std::string &name)
Definition SkillSystem.cpp:51
static float getCooldownRemaining(RPGActor *actor, const std::string &skillId)
Definition SkillSystem.cpp:71
static void learn(RPGActor *actor, const std::string &skillId)
Definition SkillSystem.cpp:55
std::function< bool(RPGActor *actor, const SkillDefinition &def, std::string &outReason)> CastCondition
返回 false 表示禁止释放;通过 outReason 说明原因。
Definition SkillSystem.h:24
static bool knows(RPGActor *actor, const std::string &skillId)
Definition SkillSystem.cpp:60
static void registerCastCondition(const std::string &name, CastCondition fn)
Definition SkillSystem.cpp:47
static bool canCast(RPGActor *actor, const std::string &skillId, std::string *reason=nullptr)
检查冷却/消耗/学会状态/自定义条件,不产生任何副作用。
Definition SkillSystem.cpp:83
static bool beginCast(RPGActor *actor, const std::string &skillId, RPGActor *target=nullptr, std::string *reason=nullptr)
尝试释放技能:通过 canCast 检查后立即扣除消耗并进入冷却; castTime<=0 时立即结算(授予效果 + 产生 SkillCastEvent), 否则进入读条状态,由 update() 在读...
Definition SkillSystem.cpp:103
static void pollCastEvents(std::vector< SkillCastEvent > &out)
Definition SkillSystem.cpp:161
Definition Skill.h:24