属性 / 状态 / 技能三表合一的 ECS 实体。 更多...
#include <RPGActor.h>
类 | |
| struct | Attributes |
| 属性组件:AttributeSet 是属性状态与计算的唯一权威真源。 更多... | |
| struct | ClassInfo |
| 职业:当前职业 id + 已同步学技能的等级上限。 更多... | |
| struct | Progression |
| 成长进度:等级 / 经验 / 升级所需经验。 更多... | |
| struct | Skills |
| 已学会技能的冷却状态 + 当前读条状态。 更多... | |
| struct | Statuses |
| Status lifecycle component backed by the generic effects container. 更多... | |
| struct | TraitInstance |
| 已施加的运行时特征实例。 更多... | |
| struct | Traits |
| 该 actor 的活动特征列表(TraitSystem 读写)。 更多... | |
| struct | Vitals |
| 当前资源(hp / mana ...):current 是运行时瞬时值,上限取同名最终属性。 max 由 attributes 推导(getFinalAttribute(resource)),本组件只存 current。 更多... | |
Public 成员函数 | |
| void | release () override |
| Entity. | |
| void | setBaseAttribute (const std::string &attribute, double value) |
便捷成员方法(转发到 AttributeSystem / StatusSystem / SkillSystem)。 提供这一层薄封装主要是为了让脚本可以写 actor.setBaseAttribute(...), 与引擎其他模块(TileLayer / ParticleEmitter 等)的绑定风格保持一致; C++ 侧仍然可以直接使用对应的 *System 静态类。 | |
| double | getBaseAttribute (const std::string &attribute) |
| void | modifyBaseAttribute (const std::string &attribute, double delta) |
| bool | hasAttribute (const std::string &attribute) |
| eve::Result< ModifierId > | addAttributeModifier (AttributeModifier modifier) |
| Canonical modifier insertion backed by AttributeSet. | |
| std::string | addAttributeModifier (const std::string &attribute, const std::string &source, const std::string &op, double value, int priority=0) |
| Legacy string modifier insertion facade. | |
| eve::Result< void > | removeAttributeModifier (const ModifierId &modifierId) |
| Canonical modifier removal backed by AttributeSet. | |
| bool | removeAttributeModifier (const std::string &attribute, const std::string &modifierId) |
| int | removeAttributeModifiersBySource (const std::string &attribute, const std::string &source) |
| int | removeAllAttributeModifiersBySource (const std::string &source) |
| double | getFinalAttribute (const std::string &attribute) |
| int | applyEffect (const std::string &effectId, const std::string &source="") |
| 状态(buff/debuff)—— Statuses ECS 组件的薄封装。 | |
| bool | removeStatus (int instanceId) |
| int | removeStatusByEffect (const std::string &effectId) |
| int | removeStatusBySource (const std::string &source) |
| int | removeStatusByTag (const std::string &tag) |
| bool | hasEffect (const std::string &effectId) |
| bool | hasStatusTag (const std::string &tag) |
| int | getStatusCount () |
| std::string | getStatusEffectId (int index) |
| int | getStatusStacks (int index) |
| float | getStatusRemaining (int index) |
| int | getStatusInstanceId (int index) |
| std::string | getStatusSource (int index) |
| std::string | getStatusProp (int instanceId, const std::string &key, const std::string &fallback={}) |
| bool | setStatusProp (int instanceId, const std::string &key, const std::string &value) |
| int | applyBuff (const std::string &effectId, const std::string &source="") |
| Buff 别名(与 Status API 等价,便于游戏侧按习惯命名)。 | |
| bool | removeBuff (int instanceId) |
| int | removeBuffByEffect (const std::string &effectId) |
| int | removeBuffBySource (const std::string &source) |
| int | removeBuffByTag (const std::string &tag) |
| bool | hasBuff (const std::string &effectId) |
| bool | hasBuffTag (const std::string &tag) |
| int | getBuffCount () |
| std::string | getBuffEffectId (int index) |
| int | getBuffStacks (int index) |
| float | getBuffRemaining (int index) |
| int | getBuffInstanceId (int index) |
| std::string | getBuffSource (int index) |
| std::string | getBuffProp (int instanceId, const std::string &key, const std::string &fallback={}) |
| bool | setBuffProp (int instanceId, const std::string &key, const std::string &value) |
| void | learnSkill (const std::string &skillId) |
| 技能:学习 / 查询 / 冷却。 | |
| bool | knowsSkill (const std::string &skillId) |
| bool | forgetSkill (const std::string &skillId) |
| float | getSkillCooldown (const std::string &skillId) |
| void | setSkillCooldown (const std::string &skillId, float seconds) |
| bool | canCastSkill (const std::string &skillId) |
| std::string | canCastSkillReason (const std::string &skillId) |
| 不能释放的原因("" = 可以)。 | |
| bool | beginCastSkill (const std::string &skillId, RPGActor *target=nullptr) |
| 开始读条释放;false 表示不满足条件。 | |
| void | cancelCastSkill () |
| 取消读条。 | |
| bool | isCastingSkill () |
| 读条状态查询。 | |
| std::string | getCastingSkillId () |
| float | getCastProgress () |
| int | getLevel () |
| 成长进度(LevelSystem 的薄转发)。 | |
| double | getXp () |
| double | getXpToNext () |
| void | setXpToNext (double value) |
| eve::Result< void > | restoreProgression (int level, double xp, double xpToNext) |
| Validate and atomically restore this actor's progression checkpoint. | |
| bool | gainXp (double amount) |
| 增加经验并可能升级(compatibility facade (脚本兼容门面);返回是否升级)。 | |
| double | getCurrent (const std::string &resource) |
| 生命等当前资源(VitalsSystem 的薄转发,max 取同名最终属性)。 | |
| double | getMax (const std::string &resource) |
| void | setCurrent (const std::string &resource, double value) |
| double | takeDamage (const std::string &resource, double amount, const std::string &source="") |
| double | heal (const std::string &resource, double amount) |
| void | revive (const std::string &resource, double amount=-1.0) |
| bool | isDead (const std::string &resource) |
| int | applyTrait (const std::string &traitId, const std::string &source="") |
| 特征(TraitSystem 的薄转发)。 | |
| bool | removeTrait (int instanceId) |
| 移除一个特征(compatibility facade (脚本兼容门面);成功返回 true)。 | |
| int | removeTraitsBySource (const std::string &source) |
| int | removeTraitsByTrait (const std::string &traitId) |
| bool | hasTrait (const std::string &traitId) |
| int | getTraitCount () |
| int | getTraitInstanceIdAt (int index) |
| std::string | getTraitIdAt (int index) |
| std::string | getTraitSourceAt (int index) |
| double | getParamRate (const std::string ¶m) |
| double | getElementRate (const std::string &element) |
| double | getStateRate (const std::string &stateId) |
| bool | isStateResist (const std::string &stateId) |
| double | getExParam (const std::string &exParam) |
| double | getAttackSpeed () |
| int | getAttackTimesAdd () |
| std::vector< std::string > | getAttackElements () |
| std::vector< std::string > | getAttackStates () |
| bool | setClass (const std::string &classId) |
| 职业(ClassSystem 的薄转发)。 | |
| std::string | getClassId () |
| bool | hasClass (const std::string &classId) |
| int | checkLevelSkills () |
| int | getClassLearnCount () |
| std::string | getClassLearnSkillIdAt (int index) |
| int | getClassLearnLevelAt (int index) |
| eve::Result< std::string > | checkpointJson () const |
| Capture this actor at a persistent safe checkpoint. | |
| eve::Result< void > | restoreCheckpointJson (std::string_view json) |
| Validate and atomically restore a safe checkpoint into this preconfigured actor. | |
静态 Public 成员函数 | |
| static RPGActor * | createActor () |
| 创建一个空白 actor(三张表均为空,按需惰性写入),并纳入 liveActors() 跟踪。 | |
| static const std::vector< RPGActor * > & | liveActors () |
| 返回所有通过 createActor() 创建、且当前仍存活的 actor。 StatusSystem::update / SkillSystem::update 用它遍历所有 actor 逐帧推进。 直接调用继承自 ENTITY 宏的 RPGActor::create() 不会被跟踪——推荐总是用 createActor()。 | |
友元 | |
| class | RPGSaveSession |
| class | Party |
详细描述
属性 / 状态 / 技能三表合一的 ECS 实体。
在文件 RPGActor.h 第 34 行定义.
成员函数说明
◆ addAttributeModifier() [1/2]
| eve::Result< ModifierId > eve::rpg::RPGActor::addAttributeModifier | ( | AttributeModifier | modifier | ) |
Canonical modifier insertion backed by AttributeSet.
在文件 RPGActor.cpp 第 75 行定义.
◆ addAttributeModifier() [2/2]
| std::string eve::rpg::RPGActor::addAttributeModifier | ( | const std::string & | attribute, |
| const std::string & | source, | ||
| const std::string & | op, | ||
| double | value, | ||
| int | priority = 0 |
||
| ) |
Legacy string modifier insertion facade.
在文件 RPGActor.cpp 第 79 行定义.
引用了 eve::rpg::AttributeSystem::addModifier(), priority, source , 以及 value.
◆ applyBuff()
| int eve::rpg::RPGActor::applyBuff | ( | const std::string & | effectId, |
| const std::string & | source = "" |
||
| ) |
◆ applyEffect()
| int eve::rpg::RPGActor::applyEffect | ( | const std::string & | effectId, |
| const std::string & | source = "" |
||
| ) |
状态(buff/debuff)—— Statuses ECS 组件的薄封装。
在文件 RPGActor.cpp 第 108 行定义.
引用了 eve::rpg::StatusSystem::apply() , 以及 source.
被这些函数引用 applyBuff().
◆ applyTrait()
| int eve::rpg::RPGActor::applyTrait | ( | const std::string & | traitId, |
| const std::string & | source = "" |
||
| ) |
◆ beginCastSkill()
| bool eve::rpg::RPGActor::beginCastSkill | ( | const std::string & | skillId, |
| RPGActor * | target = nullptr |
||
| ) |
开始读条释放;false 表示不满足条件。
在文件 RPGActor.cpp 第 221 行定义.
引用了 eve::rpg::SkillSystem::beginCast() , 以及 target.
◆ canCastSkill()
| bool eve::rpg::RPGActor::canCastSkill | ( | const std::string & | skillId | ) |
在文件 RPGActor.cpp 第 211 行定义.
◆ canCastSkillReason()
| std::string eve::rpg::RPGActor::canCastSkillReason | ( | const std::string & | skillId | ) |
◆ cancelCastSkill()
| void eve::rpg::RPGActor::cancelCastSkill | ( | ) |
◆ checkLevelSkills()
| int eve::rpg::RPGActor::checkLevelSkills | ( | ) |
在文件 RPGActor.cpp 第 344 行定义.
◆ checkpointJson()
| eve::Result< std::string > eve::rpg::RPGActor::checkpointJson | ( | ) | const |
Capture this actor at a persistent safe checkpoint.
- 返回
- Deterministic schema
eve.rpg.actor-checkpointversion 1 JSON, or a structured failure.
- 备注
- The checkpoint stores base attributes, progression, vitals, learned skill ids, class identity and trait identity. Active effects, casts, cooldowns, runtime events and raw targets are transient and excluded. Capture is rejected while an effect or cast is active. @thread Call on the actor's owning ECS simulation thread. @reentrancy No callbacks or registry mutations are performed.
在文件 RPGActorPersistence.cpp 第 20 行定义.
引用了 eve::Diagnostic::error(), index, name, eve::PreconditionViolation, root, eve::Value::toJson() , 以及 value.
◆ createActor()
|
static |
创建一个空白 actor(三张表均为空,按需惰性写入),并纳入 liveActors() 跟踪。
- 返回
- Borrowed nullable pointer to the ECS-owned actor; null means creation failed. @ownership The ECS world owns the actor; callers must release it through ECS and never delete it. @lifetime Valid until actor/world destruction; retain the generation-qualified EntityHandle across frames. @thread Call on the RPG ECS thread. @reentrancy The factory invokes no user callbacks; do not re-enter structural ECS mutation while using the result.
在文件 RPGActor.cpp 第 28 行定义.
被这些函数引用 eve::rpg::EncounterCatalogue::createMemberActor() , 以及 eve::rpg::RPG::newActor().
◆ forgetSkill()
| bool eve::rpg::RPGActor::forgetSkill | ( | const std::string & | skillId | ) |
在文件 RPGActor.cpp 第 201 行定义.
◆ gainXp()
| bool eve::rpg::RPGActor::gainXp | ( | double | amount | ) |
增加经验并可能升级(compatibility facade (脚本兼容门面);返回是否升级)。
在文件 RPGActor.cpp 第 245 行定义.
◆ getAttackElements()
| std::vector< std::string > eve::rpg::RPGActor::getAttackElements | ( | ) |
在文件 RPGActor.cpp 第 328 行定义.
◆ getAttackSpeed()
| double eve::rpg::RPGActor::getAttackSpeed | ( | ) |
在文件 RPGActor.cpp 第 324 行定义.
◆ getAttackStates()
| std::vector< std::string > eve::rpg::RPGActor::getAttackStates | ( | ) |
在文件 RPGActor.cpp 第 332 行定义.
◆ getAttackTimesAdd()
| int eve::rpg::RPGActor::getAttackTimesAdd | ( | ) |
在文件 RPGActor.cpp 第 326 行定义.
◆ getBaseAttribute()
| double eve::rpg::RPGActor::getBaseAttribute | ( | const std::string & | attribute | ) |
在文件 RPGActor.cpp 第 63 行定义.
◆ getBuffCount()
| int eve::rpg::RPGActor::getBuffCount | ( | ) |
在文件 RPGActor.cpp 第 174 行定义.
引用了 getStatusCount().
◆ getBuffEffectId()
| std::string eve::rpg::RPGActor::getBuffEffectId | ( | int | index | ) |
在文件 RPGActor.cpp 第 176 行定义.
引用了 getStatusEffectId() , 以及 index.
◆ getBuffInstanceId()
| int eve::rpg::RPGActor::getBuffInstanceId | ( | int | index | ) |
在文件 RPGActor.cpp 第 182 行定义.
引用了 getStatusInstanceId() , 以及 index.
◆ getBuffProp()
| std::string eve::rpg::RPGActor::getBuffProp | ( | int | instanceId, |
| const std::string & | key, | ||
| const std::string & | fallback = {} |
||
| ) |
在文件 RPGActor.cpp 第 186 行定义.
引用了 getStatusProp() , 以及 key.
◆ getBuffRemaining()
| float eve::rpg::RPGActor::getBuffRemaining | ( | int | index | ) |
在文件 RPGActor.cpp 第 180 行定义.
引用了 getStatusRemaining() , 以及 index.
◆ getBuffSource()
| std::string eve::rpg::RPGActor::getBuffSource | ( | int | index | ) |
在文件 RPGActor.cpp 第 184 行定义.
引用了 getStatusSource() , 以及 index.
◆ getBuffStacks()
| int eve::rpg::RPGActor::getBuffStacks | ( | int | index | ) |
在文件 RPGActor.cpp 第 178 行定义.
引用了 getStatusStacks() , 以及 index.
◆ getCastingSkillId()
| std::string eve::rpg::RPGActor::getCastingSkillId | ( | ) |
在文件 RPGActor.cpp 第 229 行定义.
◆ getCastProgress()
| float eve::rpg::RPGActor::getCastProgress | ( | ) |
在文件 RPGActor.cpp 第 231 行定义.
◆ getClassId()
| std::string eve::rpg::RPGActor::getClassId | ( | ) |
在文件 RPGActor.cpp 第 338 行定义.
◆ getClassLearnCount()
| int eve::rpg::RPGActor::getClassLearnCount | ( | ) |
在文件 RPGActor.cpp 第 346 行定义.
◆ getClassLearnLevelAt()
| int eve::rpg::RPGActor::getClassLearnLevelAt | ( | int | index | ) |
在文件 RPGActor.cpp 第 352 行定义.
◆ getClassLearnSkillIdAt()
| std::string eve::rpg::RPGActor::getClassLearnSkillIdAt | ( | int | index | ) |
在文件 RPGActor.cpp 第 348 行定义.
◆ getCurrent()
| double eve::rpg::RPGActor::getCurrent | ( | const std::string & | resource | ) |
生命等当前资源(VitalsSystem 的薄转发,max 取同名最终属性)。
在文件 RPGActor.cpp 第 247 行定义.
引用了 eve::rpg::VitalsSystem::getCurrent() , 以及 resource.
◆ getElementRate()
| double eve::rpg::RPGActor::getElementRate | ( | const std::string & | element | ) |
在文件 RPGActor.cpp 第 308 行定义.
◆ getExParam()
| double eve::rpg::RPGActor::getExParam | ( | const std::string & | exParam | ) |
在文件 RPGActor.cpp 第 320 行定义.
◆ getFinalAttribute()
| double eve::rpg::RPGActor::getFinalAttribute | ( | const std::string & | attribute | ) |
在文件 RPGActor.cpp 第 102 行定义.
◆ getLevel()
| int eve::rpg::RPGActor::getLevel | ( | ) |
◆ getMax()
| double eve::rpg::RPGActor::getMax | ( | const std::string & | resource | ) |
在文件 RPGActor.cpp 第 251 行定义.
引用了 eve::rpg::VitalsSystem::getMax() , 以及 resource.
被这些函数引用 eve::rpg::BattleControl::observeGameplay() , 以及 eve::rpg::BattleTacticsCatalogue::queueAction().
◆ getParamRate()
| double eve::rpg::RPGActor::getParamRate | ( | const std::string & | param | ) |
在文件 RPGActor.cpp 第 304 行定义.
◆ getSkillCooldown()
| float eve::rpg::RPGActor::getSkillCooldown | ( | const std::string & | skillId | ) |
在文件 RPGActor.cpp 第 203 行定义.
◆ getStateRate()
| double eve::rpg::RPGActor::getStateRate | ( | const std::string & | stateId | ) |
在文件 RPGActor.cpp 第 312 行定义.
◆ getStatusCount()
| int eve::rpg::RPGActor::getStatusCount | ( | ) |
◆ getStatusEffectId()
| std::string eve::rpg::RPGActor::getStatusEffectId | ( | int | index | ) |
在文件 RPGActor.cpp 第 133 行定义.
引用了 eve::rpg::StatusSystem::getActiveEffectId() , 以及 index.
被这些函数引用 getBuffEffectId().
◆ getStatusInstanceId()
| int eve::rpg::RPGActor::getStatusInstanceId | ( | int | index | ) |
在文件 RPGActor.cpp 第 141 行定义.
引用了 eve::rpg::StatusSystem::getActiveInstanceId() , 以及 index.
被这些函数引用 getBuffInstanceId().
◆ getStatusProp()
| std::string eve::rpg::RPGActor::getStatusProp | ( | int | instanceId, |
| const std::string & | key, | ||
| const std::string & | fallback = {} |
||
| ) |
◆ getStatusRemaining()
| float eve::rpg::RPGActor::getStatusRemaining | ( | int | index | ) |
在文件 RPGActor.cpp 第 139 行定义.
引用了 eve::rpg::StatusSystem::getActiveRemaining() , 以及 index.
被这些函数引用 getBuffRemaining().
◆ getStatusSource()
| std::string eve::rpg::RPGActor::getStatusSource | ( | int | index | ) |
在文件 RPGActor.cpp 第 143 行定义.
引用了 eve::rpg::StatusSystem::getActiveSource() , 以及 index.
被这些函数引用 getBuffSource().
◆ getStatusStacks()
| int eve::rpg::RPGActor::getStatusStacks | ( | int | index | ) |
在文件 RPGActor.cpp 第 137 行定义.
引用了 eve::rpg::StatusSystem::getActiveStacks() , 以及 index.
被这些函数引用 getBuffStacks().
◆ getTraitCount()
| int eve::rpg::RPGActor::getTraitCount | ( | ) |
在文件 RPGActor.cpp 第 292 行定义.
◆ getTraitIdAt()
| std::string eve::rpg::RPGActor::getTraitIdAt | ( | int | index | ) |
在文件 RPGActor.cpp 第 298 行定义.
引用了 eve::rpg::TraitSystem::getTraitIdAt() , 以及 index.
◆ getTraitInstanceIdAt()
| int eve::rpg::RPGActor::getTraitInstanceIdAt | ( | int | index | ) |
在文件 RPGActor.cpp 第 294 行定义.
◆ getTraitSourceAt()
| std::string eve::rpg::RPGActor::getTraitSourceAt | ( | int | index | ) |
在文件 RPGActor.cpp 第 300 行定义.
引用了 eve::rpg::TraitSystem::getSourceAt() , 以及 index.
◆ getXp()
| double eve::rpg::RPGActor::getXp | ( | ) |
在文件 RPGActor.cpp 第 235 行定义.
◆ getXpToNext()
| double eve::rpg::RPGActor::getXpToNext | ( | ) |
在文件 RPGActor.cpp 第 237 行定义.
◆ hasAttribute()
| bool eve::rpg::RPGActor::hasAttribute | ( | const std::string & | attribute | ) |
在文件 RPGActor.cpp 第 71 行定义.
◆ hasBuff()
| bool eve::rpg::RPGActor::hasBuff | ( | const std::string & | effectId | ) |
在文件 RPGActor.cpp 第 170 行定义.
引用了 hasEffect().
◆ hasBuffTag()
| bool eve::rpg::RPGActor::hasBuffTag | ( | const std::string & | tag | ) |
在文件 RPGActor.cpp 第 172 行定义.
引用了 hasStatusTag() , 以及 tag.
◆ hasClass()
| bool eve::rpg::RPGActor::hasClass | ( | const std::string & | classId | ) |
在文件 RPGActor.cpp 第 340 行定义.
引用了 classId , 以及 eve::rpg::ClassSystem::hasClass().
◆ hasEffect()
| bool eve::rpg::RPGActor::hasEffect | ( | const std::string & | effectId | ) |
◆ hasStatusTag()
| bool eve::rpg::RPGActor::hasStatusTag | ( | const std::string & | tag | ) |
◆ hasTrait()
| bool eve::rpg::RPGActor::hasTrait | ( | const std::string & | traitId | ) |
在文件 RPGActor.cpp 第 290 行定义.
◆ heal()
| double eve::rpg::RPGActor::heal | ( | const std::string & | resource, |
| double | amount | ||
| ) |
在文件 RPGActor.cpp 第 264 行定义.
引用了 eve::rpg::VitalsSystem::heal() , 以及 resource.
◆ isCastingSkill()
| bool eve::rpg::RPGActor::isCastingSkill | ( | ) |
◆ isDead()
| bool eve::rpg::RPGActor::isDead | ( | const std::string & | resource | ) |
在文件 RPGActor.cpp 第 272 行定义.
引用了 eve::rpg::VitalsSystem::isDead() , 以及 resource.
◆ isStateResist()
| bool eve::rpg::RPGActor::isStateResist | ( | const std::string & | stateId | ) |
在文件 RPGActor.cpp 第 316 行定义.
◆ knowsSkill()
| bool eve::rpg::RPGActor::knowsSkill | ( | const std::string & | skillId | ) |
在文件 RPGActor.cpp 第 199 行定义.
引用了 eve::rpg::SkillSystem::knows().
被这些函数引用 eve::rpg::Battle::setActionChecked().
◆ learnSkill()
| void eve::rpg::RPGActor::learnSkill | ( | const std::string & | skillId | ) |
◆ liveActors()
|
static |
返回所有通过 createActor() 创建、且当前仍存活的 actor。 StatusSystem::update / SkillSystem::update 用它遍历所有 actor 逐帧推进。 直接调用继承自 ENTITY 宏的 RPGActor::create() 不会被跟踪——推荐总是用 createActor()。
实现细节:内部按 ecs::EntityHandle(而非裸指针)跟踪,每次调用通过 ecs::try_get 按 (id, generation) 校验是否仍是同一个存活实体—— 这样当一个 actor 被销毁、其 id 槽位被新 actor 复用时,不会把新实体 误判为旧的已销毁实体(裸指针 + is_entity_visible 无法区分这种复用)。
在文件 RPGActor.cpp 第 42 行定义.
引用了 h.
被这些函数引用 eve::rpg::captureRpgState(), eve::rpg::resetRpgState(), eve::rpg::restoreRpgState(), eve::rpg::StatusSystem::update() , 以及 eve::rpg::SkillSystem::update().
◆ modifyBaseAttribute()
| void eve::rpg::RPGActor::modifyBaseAttribute | ( | const std::string & | attribute, |
| double | delta | ||
| ) |
在文件 RPGActor.cpp 第 67 行定义.
◆ release()
|
inlineoverride |
◆ removeAllAttributeModifiersBySource()
| int eve::rpg::RPGActor::removeAllAttributeModifiersBySource | ( | const std::string & | source | ) |
在文件 RPGActor.cpp 第 98 行定义.
引用了 eve::rpg::AttributeSystem::removeAllModifiersBySource() , 以及 source.
◆ removeAttributeModifier() [1/2]
| eve::Result< void > eve::rpg::RPGActor::removeAttributeModifier | ( | const ModifierId & | modifierId | ) |
Canonical modifier removal backed by AttributeSet.
在文件 RPGActor.cpp 第 84 行定义.
◆ removeAttributeModifier() [2/2]
| bool eve::rpg::RPGActor::removeAttributeModifier | ( | const std::string & | attribute, |
| const std::string & | modifierId | ||
| ) |
在文件 RPGActor.cpp 第 88 行定义.
◆ removeAttributeModifiersBySource()
| int eve::rpg::RPGActor::removeAttributeModifiersBySource | ( | const std::string & | attribute, |
| const std::string & | source | ||
| ) |
在文件 RPGActor.cpp 第 92 行定义.
引用了 eve::rpg::AttributeSystem::removeModifiersBySource() , 以及 source.
◆ removeBuff()
| bool eve::rpg::RPGActor::removeBuff | ( | int | instanceId | ) |
在文件 RPGActor.cpp 第 158 行定义.
引用了 removeStatus().
◆ removeBuffByEffect()
| int eve::rpg::RPGActor::removeBuffByEffect | ( | const std::string & | effectId | ) |
在文件 RPGActor.cpp 第 160 行定义.
◆ removeBuffBySource()
| int eve::rpg::RPGActor::removeBuffBySource | ( | const std::string & | source | ) |
在文件 RPGActor.cpp 第 164 行定义.
引用了 removeStatusBySource() , 以及 source.
◆ removeBuffByTag()
| int eve::rpg::RPGActor::removeBuffByTag | ( | const std::string & | tag | ) |
在文件 RPGActor.cpp 第 168 行定义.
引用了 removeStatusByTag() , 以及 tag.
◆ removeStatus()
| bool eve::rpg::RPGActor::removeStatus | ( | int | instanceId | ) |
在文件 RPGActor.cpp 第 113 行定义.
引用了 eve::Result< void >::ok() , 以及 eve::rpg::StatusSystem::remove().
被这些函数引用 removeBuff().
◆ removeStatusByEffect()
| int eve::rpg::RPGActor::removeStatusByEffect | ( | const std::string & | effectId | ) |
在文件 RPGActor.cpp 第 115 行定义.
引用了 eve::rpg::StatusSystem::removeByEffect().
被这些函数引用 removeBuffByEffect().
◆ removeStatusBySource()
| int eve::rpg::RPGActor::removeStatusBySource | ( | const std::string & | source | ) |
在文件 RPGActor.cpp 第 119 行定义.
引用了 eve::rpg::StatusSystem::removeBySource() , 以及 source.
被这些函数引用 removeBuffBySource().
◆ removeStatusByTag()
| int eve::rpg::RPGActor::removeStatusByTag | ( | const std::string & | tag | ) |
在文件 RPGActor.cpp 第 123 行定义.
引用了 eve::rpg::StatusSystem::removeByTag() , 以及 tag.
被这些函数引用 removeBuffByTag().
◆ removeTrait()
| bool eve::rpg::RPGActor::removeTrait | ( | int | instanceId | ) |
移除一个特征(compatibility facade (脚本兼容门面);成功返回 true)。
在文件 RPGActor.cpp 第 280 行定义.
◆ removeTraitsBySource()
| int eve::rpg::RPGActor::removeTraitsBySource | ( | const std::string & | source | ) |
在文件 RPGActor.cpp 第 282 行定义.
◆ removeTraitsByTrait()
| int eve::rpg::RPGActor::removeTraitsByTrait | ( | const std::string & | traitId | ) |
在文件 RPGActor.cpp 第 286 行定义.
◆ restoreCheckpointJson()
| eve::Result< void > eve::rpg::RPGActor::restoreCheckpointJson | ( | std::string_view | json | ) |
Validate and atomically restore a safe checkpoint into this preconfigured actor.
- 参数
-
json UTF-8 JSON produced by checkpointJson().
- 返回
- Applied state, or a structured failure without mutation.
- 备注
- The destination must have no active effect/cast and must use the same class, trait identities and attribute layout. Skill ids must exist in the current registry. Cooldowns and casting restore to defaults. Unknown version-1 fields are ignored. @thread Call on the actor's owning ECS simulation thread. @reentrancy No callbacks or gameplay events are emitted.
在文件 RPGActorPersistence.cpp 第 204 行定义.
引用了 eve::Applied, eve::Result< T >::failure(), eve::Status::success() , 以及 eve::Result< T >::success().
◆ restoreProgression()
| eve::Result< void > eve::rpg::RPGActor::restoreProgression | ( | int | level, |
| double | xp, | ||
| double | xpToNext | ||
| ) |
Validate and atomically restore this actor's progression checkpoint.
- 参数
-
level Positive level. xp Finite, non-negative progress below xpToNext. xpToNext Finite positive threshold for the current level.
- 返回
- Applied state, or a structured failure without mutation.
- 备注
- The actor retains ownership of its progression component and no level-up event or callback is emitted by restoration. @thread Call on the actor's owning ECS simulation thread. @reentrancy No callbacks are invoked.
在文件 RPGActor.cpp 第 241 行定义.
◆ revive()
| void eve::rpg::RPGActor::revive | ( | const std::string & | resource, |
| double | amount = -1.0 |
||
| ) |
在文件 RPGActor.cpp 第 268 行定义.
引用了 resource , 以及 eve::rpg::VitalsSystem::revive().
◆ setBaseAttribute()
| void eve::rpg::RPGActor::setBaseAttribute | ( | const std::string & | attribute, |
| double | value | ||
| ) |
便捷成员方法(转发到 AttributeSystem / StatusSystem / SkillSystem)。 提供这一层薄封装主要是为了让脚本可以写 actor.setBaseAttribute(...), 与引擎其他模块(TileLayer / ParticleEmitter 等)的绑定风格保持一致; C++ 侧仍然可以直接使用对应的 *System 静态类。
属性访问。
在文件 RPGActor.cpp 第 59 行定义.
引用了 eve::rpg::AttributeSystem::setBase() , 以及 value.
◆ setBuffProp()
| bool eve::rpg::RPGActor::setBuffProp | ( | int | instanceId, |
| const std::string & | key, | ||
| const std::string & | value | ||
| ) |
在文件 RPGActor.cpp 第 191 行定义.
引用了 key, setStatusProp() , 以及 value.
◆ setClass()
| bool eve::rpg::RPGActor::setClass | ( | const std::string & | classId | ) |
职业(ClassSystem 的薄转发)。
设定职业(compatibility facade (脚本兼容门面);成功返回 true)。
在文件 RPGActor.cpp 第 336 行定义.
引用了 classId , 以及 eve::rpg::ClassSystem::setClass().
◆ setCurrent()
| void eve::rpg::RPGActor::setCurrent | ( | const std::string & | resource, |
| double | value | ||
| ) |
在文件 RPGActor.cpp 第 255 行定义.
引用了 resource, eve::rpg::VitalsSystem::setCurrent() , 以及 value.
◆ setSkillCooldown()
| void eve::rpg::RPGActor::setSkillCooldown | ( | const std::string & | skillId, |
| float | seconds | ||
| ) |
在文件 RPGActor.cpp 第 207 行定义.
◆ setStatusProp()
| bool eve::rpg::RPGActor::setStatusProp | ( | int | instanceId, |
| const std::string & | key, | ||
| const std::string & | value | ||
| ) |
在文件 RPGActor.cpp 第 150 行定义.
引用了 key, eve::rpg::StatusSystem::setProp() , 以及 value.
被这些函数引用 setBuffProp().
◆ setXpToNext()
| void eve::rpg::RPGActor::setXpToNext | ( | double | value | ) |
在文件 RPGActor.cpp 第 239 行定义.
引用了 eve::rpg::LevelSystem::setXpToNext() , 以及 value.
◆ takeDamage()
| double eve::rpg::RPGActor::takeDamage | ( | const std::string & | resource, |
| double | amount, | ||
| const std::string & | source = "" |
||
| ) |
在文件 RPGActor.cpp 第 259 行定义.
引用了 resource, source , 以及 eve::rpg::VitalsSystem::takeDamage().
友元及相关函数文档
◆ Party
|
friend |
在文件 RPGActor.h 第 310 行定义.
◆ RPGSaveSession
|
friend |
在文件 RPGActor.h 第 309 行定义.
该类的文档由以下文件生成:
- src/modules/rpg/RPGActor.h
- src/modules/rpg/RPGActor.cpp
- src/modules/rpg/RPGActorPersistence.cpp