#ifndef EQUIPMENT_HPP_INCLUDED #define EQUIPMENT_HPP_INCLUDED #include "../../../Game/Interactable/Item.hpp" #include #include #include #include /** @addtogroup GameTabs * @{ */ namespace Equipment { typedef enum SLOT { HEAD, CAPE, NECK, WEAPON, BODY, SHIELD, LEGS, HANDS, FEET, RING, AMMO } SLOT; bool IsOpen(); bool Open(); bool IsEmpty(); std::vector GetItemIDs(); std::vector GetItemNames(); std::vector GetItemAmounts(); std::vector GetItems(); std::vector GetItems(std::int32_t ID); std::vector GetItems(const std::string& Name); std::vector GetItems(const std::vector& Slots); std::vector GetItems(const std::vector& IDs); std::vector GetItems(const std::vector& Names); std::vector GetItems(const std::function& Filter); Interactable::Item GetItem(SLOT Slot); Interactable::Item GetItem(std::int32_t ID); Interactable::Item GetItem(const std::string& Name); Interactable::Item GetItem(const std::vector& IDs); Interactable::Item GetItem(const std::vector& Names); Interactable::Item GetItem(const std::function& Filter); std::int32_t Count(SLOT Slot); std::int32_t Count(std::int32_t ID); std::int32_t Count(const std::string& Name); std::int32_t Count(const Interactable::Item& Item); std::int32_t Count(const std::vector& IDs); std::int32_t Count(const std::vector& Names); std::int32_t Count(const std::vector& Items); SLOT GetSlotOf(std::int32_t ID); SLOT GetSlotOf(const std::string& Name); bool Contains(std::int32_t ID); bool Contains(const std::string& Name); bool Contains(const Interactable::Item& Item); bool Contains(const std::vector& IDs); // true if all items are found at least once bool Contains(const std::vector& Names); // true if all items are found at least once bool Contains(const std::vector& Items); bool ContainsAny(const std::vector& IDs); bool ContainsAny(const std::vector& Names); bool ContainsAny(const std::vector& Items); bool ContainsOnly(std::int32_t ID); bool ContainsOnly(const std::string& Name); bool ContainsOnly(const Interactable::Item& Item); bool ContainsOnly(const std::vector& IDs); bool ContainsOnly(const std::vector& Names); bool ContainsOnly(const std::vector& Items); bool Unequip(std::int32_t ID); bool Unequip(const std::string& Name); bool Unequip(const Interactable::Item& Item); } /** @} */ #endif // EQUIPMENT_HPP_INCLUDED