装备加成系统。 @thread 调用线程应与 RPGActor 的 ECS 线程一致。 更多...
#include <EquipmentSystem.h>
静态 Public 成员函数 | |
| static void | registerItemStat (const std::string &itemId, const EquipmentStat &stat) |
| 为某物品 id 注册一条属性加成。 | |
| static int | registerItemStatsFromJson (const std::string &itemId, const std::string &json) |
| 批量注册某物品的属性加成;返回成功条数。 | |
| static void | clearItemStats (const std::string &itemId) |
| 清除某物品的加成。 | |
| static void | clearAll () |
| 清除全部物品加成注册。 | |
| static int | statItemCount () |
| 已注册加成的物品数量。 | |
| static int | syncEquipModifiers (RPGActor *actor, eve::inventory::EquipmentSet *equip) |
| 把装备栏当前装备同步为 actor 属性修改器(先清旧再施加)。 | |
详细描述
装备加成系统。 @thread 调用线程应与 RPGActor 的 ECS 线程一致。
在文件 EquipmentSystem.h 第 41 行定义.
成员函数说明
◆ clearAll()
|
static |
◆ clearItemStats()
|
static |
◆ registerItemStat()
|
static |
为某物品 id 注册一条属性加成。
在文件 EquipmentSystem.cpp 第 23 行定义.
引用了 eve::rpg::EquipmentStat::attribute , 以及 itemId.
◆ registerItemStatsFromJson()
|
static |
批量注册某物品的属性加成;返回成功条数。
在文件 EquipmentSystem.cpp 第 28 行定义.
引用了 eve::rpg::EquipmentStat::attribute, itemId, n, eve::rpg::EquipmentStat::op, eve::json::Document::parse(), eve::rpg::EquipmentStat::priority, eve::json::Document::root(), root, eve::json::Document::valid() , 以及 eve::rpg::EquipmentStat::value.
◆ statItemCount()
|
static |
◆ syncEquipModifiers()
|
static |
把装备栏当前装备同步为 actor 属性修改器(先清旧再施加)。
- 返回
- 本次实际施加的修改器条数。
在文件 EquipmentSystem.cpp 第 60 行定义.
引用了 eve::rpg::AttributeSystem::addModifier(), end, eve::inventory::EquipmentSet::getSlotCount(), eve::inventory::EquipmentSet::getSlotItemId(), eve::inventory::EquipmentSet::getSlotName(), eve::inventory::EquipmentSet::isSlotEmpty(), itemId, eve::rpg::AttributeSystem::removeAllModifiersBySource() , 以及 source.
被这些函数引用 eve::rpg::RPG::syncEquipModifiers().
该类的文档由以下文件生成:
- src/modules/rpg/EquipmentSystem.h
- src/modules/rpg/EquipmentSystem.cpp