载入中...
搜索中...
未找到
Inventory.cpp
浏览该文件的文档.
virtual std::string getName() const =0
std::string canAddItemReason(const std::string &itemId, int quantity)
Definition Bag.cpp:61
bool canAddItem(const std::string &itemId, int quantity)
便捷操作(转发 InventorySystem):增删 / 移动 / 查询。
Definition Bag.cpp:57
void setSlotDurability(int slot, float durability)
Definition Bag.cpp:132
std::string getSlotProp(int slot, const std::string &key, const std::string &fallback={}) const
Definition Bag.cpp:137
int addItem(const std::string &itemId, int quantity)
Definition Bag.cpp:67
void addSlotTag(int slot, const std::string &tag)
Definition Bag.cpp:152
bool slotHasTag(int slot, const std::string &tag) const
Definition Bag.cpp:147
bool splitStack(int slot, int quantity, int toSlot)
Definition Bag.cpp:83
int removeItem(const std::string &itemId, int quantity)
Definition Bag.cpp:71
void setCapacityPolicy(const std::string &name)
Definition Bag.h:52
std::string getExtra(const std::string &key, const std::string &fallback={}) const
Definition Bag.cpp:52
void setSlotProp(int slot, const std::string &key, const std::string &value)
Definition Bag.cpp:142
int findItemByTag(const std::string &tag) const
Definition Bag.cpp:95
Definition Equipment.h:15
void clearSlotAllowedTags(const std::string &slotName)
Definition Equipment.cpp:20
bool hasSlot(const std::string &slotName) const
Definition Equipment.cpp:33
int getSlotInstanceId(const std::string &slotName) const
Definition Equipment.cpp:62
void addSlotAllowedTag(const std::string &slotName, const std::string &tag)
Definition Equipment.cpp:26
std::string getSlotName(int index) const
Definition Equipment.cpp:39
bool equipFromBag(const std::string &equipSlot, Bag *bag, int bagSlot)
Definition Equipment.cpp:131
bool isSlotEmpty(const std::string &slotName) const
Definition Equipment.cpp:44
std::string getSlotItemId(const std::string &slotName) const
Definition Equipment.cpp:50
int getSlotQuantity(const std::string &slotName) const
Definition Equipment.cpp:56
bool unequipToBag(const std::string &equipSlot, Bag *bag)
Definition Equipment.cpp:135
static const std::vector< InventoryChangeEvent > & events()
Definition InventorySystem.cpp:216
static bool hasStackRule(const std::string &name)
Definition InventorySystem.cpp:95
static int transfer(Bag *from, Bag *to, const std::string &itemId, int quantity)
Definition InventorySystem.cpp:476
static bool hasAcceptRule(const std::string &name)
Definition InventorySystem.cpp:69
static bool hasCapacityPolicy(const std::string &name)
Definition InventorySystem.cpp:83
static int transferSlot(Bag *from, int fromSlot, Bag *to, int quantity)
Definition InventorySystem.cpp:516
static void clearEvents()
Definition InventorySystem.cpp:214
bool hasItemDefinition(const std::string &itemId)
物品定义查询(显示名/堆叠/重量/体积/类别/装备槽/标签/额外属性)。
Definition Inventory.cpp:20
std::string getItemExtra(const std::string &itemId, const std::string &key, const std::string &fallback={})
Definition Inventory.cpp:59
int transferItem(Bag *from, Bag *to, const std::string &itemId, int quantity)
跨容器转移(按物品 id / 按槽位);返回实际转移数量。
Definition Inventory.cpp:75
std::string getChangeEventOtherBagId(int index) const
Definition Inventory.cpp:113
std::string getChangeEventItemId(int index) const
Definition Inventory.cpp:119
int getChangeEventOtherSlot(int index) const
Definition Inventory.cpp:137
EquipmentSet * newEquipmentSet()
Definition Inventory.cpp:70
bool hasStackRule(const std::string &name)
Definition Inventory.cpp:91
std::string getChangeEventAction(int index) const
Definition Inventory.cpp:101
std::string getItemCategory(const std::string &itemId)
Definition Inventory.cpp:44
int getChangeEventSlot(int index) const
Definition Inventory.cpp:131
int transferSlot(Bag *from, int fromSlot, Bag *to, int quantity)
Definition Inventory.cpp:79
int registerItemsFromJson(const std::string &json)
从 JSON 注册物品定义;返回成功注册数量。
Definition Inventory.cpp:11
std::string getChangeEventBagId(int index) const
Definition Inventory.cpp:107
int getChangeEventCount() const
Definition Inventory.cpp:97
int getChangeEventQuantity(int index) const
Definition Inventory.cpp:125
bool itemHasTag(const std::string &itemId, const std::string &tag)
Definition Inventory.cpp:54
std::string getItemDisplayName(const std::string &itemId)
Definition Inventory.cpp:24
int getItemMaxStack(const std::string &itemId)
Definition Inventory.cpp:29
float getItemVolume(const std::string &itemId)
Definition Inventory.cpp:39
std::string getItemEquipSlot(const std::string &itemId)
Definition Inventory.cpp:49
bool hasCapacityPolicy(const std::string &name)
Definition Inventory.cpp:87
std::string getChangeEventEquipSlot(int index) const
Definition Inventory.cpp:143
float getItemWeight(const std::string &itemId)
Definition Inventory.cpp:34
static int loadFromJson(const std::string &json, std::string *error=nullptr)
从 JSON 数组或单对象批量注册,返回成功数量。 元素形如: { "id": "potion.hp", "displayName": "治疗药水", "maxStack": 20,...
Definition Item.cpp:84
static const ItemDefinition * find(const std::string &id)
Definition Item.cpp:53
运行时容器:固定格数的背包 / 箱子 / 商店栏等。 行为由 InventorySystem 提供;本类暴露便于脚本绑定的薄封装方法。
Definition Bag.cpp:6