载入中...
搜索中...
未找到
SkillSystem.cpp
浏览该文件的文档.
30 for (const auto &cost : def.costs) AttributeSystem::modifyBase(actor, cost.attribute, -cost.amount);
78void SkillSystem::setCooldownRemaining(RPGActor *actor, const std::string &skillId, float seconds) {
130bool SkillSystem::isCasting(RPGActor *actor) { return actor && actor->skills()->casting.active; }
static const std::vector< RPGActor * > & liveActors()
返回所有通过 createActor() 创建、且当前仍存活的 actor。 StatusSystem::update / SkillSystem::update 用它遍历所有 actor 逐帧推进。 ...
Definition RPGActor.cpp:33
static const SkillDefinition * find(const std::string &id)
Definition Skill.cpp:28
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