64 lines
1.7 KiB
C++
64 lines
1.7 KiB
C++
|
#ifndef EQUIPMENT_HPP_INCLUDED
|
||
|
#define EQUIPMENT_HPP_INCLUDED
|
||
|
|
||
|
#include <cstdint>
|
||
|
#include <vector>
|
||
|
#include <string>
|
||
|
|
||
|
/** @addtogroup GameTabs
|
||
|
* @{ */
|
||
|
class Equipment
|
||
|
{
|
||
|
public:
|
||
|
typedef enum SLOTS
|
||
|
{
|
||
|
HEAD,
|
||
|
CAPE,
|
||
|
NECK,
|
||
|
WEAPON,
|
||
|
BODY,
|
||
|
SHIELD,
|
||
|
LEGS,
|
||
|
HANDS,
|
||
|
FEET,
|
||
|
RING,
|
||
|
AMMO
|
||
|
} SLOTS;
|
||
|
|
||
|
static bool IsOpen();
|
||
|
static bool Open();
|
||
|
static bool IsEmpty();
|
||
|
|
||
|
static std::vector<int32_t> GetItemIDs();
|
||
|
static std::vector<std::string> GetItemNames();
|
||
|
static std::vector<std::int32_t> GetItemAmounts();
|
||
|
|
||
|
static std::int32_t GetItemID(SLOTS Slot);
|
||
|
static std::string GetItemName(SLOTS Slot);
|
||
|
|
||
|
static std::int32_t GetItemAmount(SLOTS Slot);
|
||
|
static std::int32_t GetItemAmount(std::int32_t ID);
|
||
|
static std::int32_t GetItemAmount(const std::string& Name);
|
||
|
|
||
|
static SLOTS GetSlotOf(std::int32_t ID);
|
||
|
static SLOTS GetSlotOf(const std::string& Name);
|
||
|
|
||
|
static bool Contains(std::int32_t ID);
|
||
|
static bool Contains(const std::string& Name);
|
||
|
static bool Contains(const std::vector<std::int32_t>& IDs);
|
||
|
static bool Contains(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);
|
||
|
|
||
|
static bool UnequipItem(SLOTS Slot);
|
||
|
static bool UnequipItem(std::int32_t ID);
|
||
|
static bool UnequipItem(const std::string& Name);
|
||
|
};
|
||
|
|
||
|
/** @} */
|
||
|
|
||
|
#endif // EQUIPMENT_HPP_INCLUDED
|