#ifndef INVENTORY_HPP_INCLUDED #define INVENTORY_HPP_INCLUDED #include "../../../Core/Types/Box.hpp" #include "../../../Core/Types/Convex.hpp" #include "../../../Game/Interactable/Item.hpp" #include #include #include #include namespace Inventory { bool IsOpen(); bool Open(bool UseHotkey = true); std::int32_t GetTabHotkey(); 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& IDs); std::vector GetItems(const std::vector& Names); std::vector GetItems(const std::function& Filter); 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); bool IsEmpty(); bool IsFull(); std::int32_t GetItemSelectedIndex(); bool IsItemSelected(); bool IsItemSelected(std::int32_t ID); bool IsItemSelected(const std::string& Name); bool IsItemSelected(const Interactable::Item& Item); std::string GetItemSelectedName(); 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); std::int32_t CountOccupied(); std::int32_t CountEmpty(); std::int32_t GetIndexOf(std::int32_t ID); std::int32_t GetIndexOf(const std::string& Name); std::int32_t GetIndexOf(const std::vector& IDs); // Returns first found ID index std::int32_t GetIndexOf(const std::vector& Names); // Returns first found Name Index std::vector GetIndicesOf(std::int32_t ID); std::vector GetIndicesOf(const std::string& Name); std::vector GetIndicesOf(const std::vector& IDs); std::vector GetIndicesOf(const std::vector& Names); std::vector GetSlotBoxes(); std::vector GetBoxesOf(std::int32_t ID); std::vector GetBoxesOf(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 Use(std::int32_t ID, std::int32_t ID2 = -1, bool UseSecondFirst = false); bool Use(const std::string& Name, const std::string& Name2 = "", bool UseSecondFirst = false); bool Use(const Interactable::Item& Item, const Interactable::Item& Item2 = Interactable::Item(), bool UseSecondFirst = false); bool Equip(std::int32_t ID); bool Equip(const std::string& Name); bool Equip(const Interactable::Item& Item); bool Drop(std::int32_t ID, bool AllowShiftClick = true); bool Drop(const std::string& Name, bool AllowShiftClick = true); bool Drop(const Interactable::Item& Item, bool AllowShiftClick = true); } #endif // INVENTORY_HPP_INCLUDED