2017-12-25 23:49:48 +00:00
|
|
|
#ifndef INVENTORY_HPP_INCLUDED
|
|
|
|
#define INVENTORY_HPP_INCLUDED
|
|
|
|
|
|
|
|
#include "../../../Core/Types/Box.hpp"
|
|
|
|
#include "../../../Core/Types/Convex.hpp"
|
|
|
|
#include <vector>
|
|
|
|
#include <cstdint>
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
/** @addtogroup GameTabs
|
|
|
|
* @{ */
|
|
|
|
class Inventory
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
|
|
|
|
static bool IsOpen();
|
|
|
|
static bool Open();
|
|
|
|
|
|
|
|
static std::vector<std::int32_t> GetItemIDs();
|
|
|
|
static std::vector<std::string> GetItemNames();
|
|
|
|
static std::vector<std::int32_t> GetItemAmounts();
|
|
|
|
|
|
|
|
static bool IsEmpty();
|
|
|
|
static bool IsFull();
|
|
|
|
|
|
|
|
static bool IsItemSelected();
|
|
|
|
static bool IsItemSelected(std::int32_t ID);
|
|
|
|
static bool IsItemSelected(const std::string& Name);
|
|
|
|
|
|
|
|
static std::string GetItemSelectedName();
|
|
|
|
|
|
|
|
static std::int32_t Count(std::int32_t ID);
|
|
|
|
static std::int32_t Count(const std::string& Name);
|
|
|
|
static std::int32_t Count(const std::vector<std::int32_t>& IDs);
|
|
|
|
static std::int32_t Count(const std::vector<std::string>& Names);
|
|
|
|
|
|
|
|
static std::int32_t CountOccupied();
|
|
|
|
static std::int32_t CountEmpty();
|
|
|
|
|
|
|
|
static std::int32_t GetIndexOf(std::int32_t ID);
|
|
|
|
static std::int32_t GetIndexOf(const std::string& Name);
|
|
|
|
static std::int32_t GetIndexOf(const std::vector<std::int32_t>& IDs); // Returns first found ID index
|
|
|
|
static std::int32_t GetIndexOf(const std::vector<std::string>& Names); // Returns first found Name Index
|
|
|
|
|
|
|
|
static std::vector<std::int32_t> GetIndicesOf(std::int32_t ID);
|
|
|
|
static std::vector<std::int32_t> GetIndicesOf(const std::string& Name);
|
|
|
|
|
2018-05-10 01:08:38 +00:00
|
|
|
static Convex GetConvexByIndex(std::int32_t Index);
|
|
|
|
static Convex GetConvexOf(std::int32_t ID);
|
|
|
|
static Convex GetConvexOf(const std::string& Name);
|
|
|
|
static Convex GetConvexOf(const std::vector<std::int32_t>& IDs); // Returns first found ID Convex
|
|
|
|
static Convex GetConvexOf(const std::vector<std::string>& Names); // Returns first found Name Convex
|
2017-12-25 23:49:48 +00:00
|
|
|
|
2018-05-10 01:08:38 +00:00
|
|
|
static Box GetBoxByIndex(std::int32_t Index);
|
2017-12-25 23:49:48 +00:00
|
|
|
static Box GetBoxOf(std::int32_t ID);
|
|
|
|
static Box GetBoxOf(const std::string& Name);
|
|
|
|
static Box GetBoxOf(const std::vector<std::int32_t>& IDs); // Returns first found ID box
|
|
|
|
static Box GetBoxOf(const std::vector<std::string>& Names); // Returns first found Name box
|
|
|
|
|
|
|
|
static std::vector<Box> GetSlotBoxes();
|
|
|
|
static std::vector<Box> GetBoxesOf(std::int32_t ID);
|
|
|
|
static std::vector<Box> GetBoxesOf(const std::string& Name);
|
|
|
|
|
|
|
|
static bool Contains(std::int32_t ID);
|
|
|
|
static bool Contains(const std::string& Name);
|
2018-01-18 02:45:28 +00:00
|
|
|
static bool Contains(const std::vector<std::int32_t>& IDs); // true if all items are found at least once
|
|
|
|
static bool Contains(const std::vector<std::string>& Names); // true if all items are found at least once
|
2017-12-25 23:49:48 +00:00
|
|
|
|
|
|
|
static bool ContainsAny(const std::vector<std::int32_t>& IDs);
|
|
|
|
static bool ContainsAny(const std::vector<std::string>& Names);
|
|
|
|
|
|
|
|
static bool ContainsOnly(std::int32_t ID);
|
|
|
|
static bool ContainsOnly(const std::string& Name);
|
|
|
|
static bool ContainsOnly(const std::vector<std::int32_t>& IDs);
|
|
|
|
static bool ContainsOnly(const std::vector<std::string>& Names);
|
|
|
|
|
2018-05-10 01:08:38 +00:00
|
|
|
static bool InteractItemByIndex(std::int32_t Index, const std::string& Option);
|
2018-05-15 03:41:51 +00:00
|
|
|
static bool InteractItemByIndex(std::int32_t Index, const std::vector<std::string>& Options);
|
2018-05-10 01:08:38 +00:00
|
|
|
static bool InteractItem(std::int32_t ID, const std::string& Option);
|
|
|
|
static bool InteractItem(const std::string& Name, const std::string& Option);
|
2018-06-07 03:43:38 +00:00
|
|
|
static bool InteractItem(std::int32_t ID, const std::vector<std::string>& Options);
|
|
|
|
static bool InteractItem(const std::string& Name, const std::vector<std::string>& Options);
|
2018-05-15 03:41:51 +00:00
|
|
|
static bool InteractItem(const std::vector<std::int32_t>& IDs, const std::vector<std::string>& Options); //Interacts with first found ID
|
|
|
|
static bool InteractItem(const std::vector<std::string>& Names, const std::vector<std::string>& Options); //Interacts with first found Name
|
2017-12-25 23:49:48 +00:00
|
|
|
|
|
|
|
static bool DropItemByIndex(std::int32_t Index, bool AllowShiftClick = true);
|
|
|
|
static bool DropItem(std::int32_t ID, bool AllowShiftClick = true);
|
|
|
|
static bool DropItem(const std::string& Name, bool AllowShiftClick = true);
|
|
|
|
|
|
|
|
static bool UseItem(std::int32_t ID);
|
|
|
|
static bool UseItem(const std::string& Name);
|
2018-05-10 01:08:38 +00:00
|
|
|
static bool UseItemOn(std::int32_t FirstItemID, std::int32_t SecondItemID);
|
|
|
|
static bool UseItemOn(const std::string& FirstItemName, const std::string& SecondItemName);
|
2017-12-25 23:49:48 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/** @} */
|
|
|
|
|
|
|
|
#endif // INVENTORY_HPP_INCLUDED
|