载入中...
搜索中...
未找到
InventorySystem.h
浏览该文件的文档.
22 std::function<bool(const Bag &bag, const ItemDefinition &def, int quantity, std::string *reason)>;
24 std::function<bool(const Bag &bag, const ItemDefinition &def, int quantity, std::string *reason)>;
Definition Equipment.h:15
static void unregisterStackRule(const std::string &name)
Definition InventorySystem.cpp:93
static int addItem(Bag *bag, const std::string &itemId, int quantity)
返回实际放入数量(可能部分成功)。
Definition InventorySystem.cpp:288
static void registerStackRule(const std::string &name, StackFn fn)
Definition InventorySystem.cpp:88
static bool equipFromBag(EquipmentSet *eq, const std::string &equipSlot, Bag *bag, int bagSlot)
Definition InventorySystem.cpp:684
static const std::vector< InventoryChangeEvent > & events()
Definition InventorySystem.cpp:216
static bool unequipToBag(EquipmentSet *eq, const std::string &equipSlot, Bag *bag)
Definition InventorySystem.cpp:719
static bool canAdd(Bag *bag, const std::string &itemId, int quantity, std::string *reason=nullptr)
Definition InventorySystem.cpp:272
static bool swapSlots(Bag *bag, int slotA, int slotB)
Definition InventorySystem.cpp:392
static float usedWeight(const Bag *bag)
Definition InventorySystem.cpp:643
static bool hasChangeHook(const std::string &name)
Definition InventorySystem.cpp:107
std::function< void(const InventoryChangeEvent &ev)> ChangeHook
Definition InventorySystem.h:27
static void registerCapacityPolicy(const std::string &name, CapacityFn fn)
Definition InventorySystem.cpp:74
static float usedVolume(const Bag *bag)
Definition InventorySystem.cpp:654
std::function< bool(const Bag &bag, const ItemDefinition &def, int quantity, std::string *reason)> CapacityFn
Definition InventorySystem.h:24
static void unregisterCapacityPolicy(const std::string &name)
Definition InventorySystem.cpp:79
static int nextInstanceId()
Definition InventorySystem.cpp:198
static void pushEvent(InventoryChangeEvent ev)
Definition InventorySystem.cpp:207
static bool splitStack(Bag *bag, int slot, int quantity, int toSlot)
Definition InventorySystem.cpp:451
std::function< bool(const Bag &bag, const ItemDefinition &def, int quantity, std::string *reason)> AcceptFn
Definition InventorySystem.h:22
static void registerAcceptRule(const std::string &name, AcceptFn fn)
Definition InventorySystem.cpp:62
static int countItem(const Bag *bag, const std::string &itemId)
Definition InventorySystem.cpp:613
static void registerChangeHook(const std::string &name, ChangeHook fn)
Definition InventorySystem.cpp:100
static int usedSlotCount(const Bag *bag)
Definition InventorySystem.cpp:665
static bool hasStackRule(const std::string &name)
Definition InventorySystem.cpp:95
static void clearBag(Bag *bag)
Definition InventorySystem.cpp:674
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 void unregisterAcceptRule(const std::string &name)
Definition InventorySystem.cpp:67
std::function< bool(const ItemStack &a, const ItemStack &b, const ItemDefinition &def)> StackFn
Definition InventorySystem.h:26
static void unregisterChangeHook(const std::string &name)
Definition InventorySystem.cpp:105
static int removeAt(Bag *bag, int slot, int quantity)
Definition InventorySystem.cpp:374
static int removeItem(Bag *bag, const std::string &itemId, int quantity)
Definition InventorySystem.cpp:350
static bool moveSlot(Bag *bag, int fromSlot, int toSlot)
Definition InventorySystem.cpp:406
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 int findItemByTag(const Bag *bag, const std::string &tag)
Definition InventorySystem.cpp:631
static void clearEvents()
Definition InventorySystem.cpp:214
static void pollEvents(std::vector< InventoryChangeEvent > &out)
Definition InventorySystem.cpp:209
static int findItem(const Bag *bag, const std::string &itemId)
Definition InventorySystem.cpp:622
运行时容器:固定格数的背包 / 箱子 / 商店栏等。 行为由 InventorySystem 提供;本类暴露便于脚本绑定的薄封装方法。
Definition Bag.cpp:6