diff --git a/Include/Game/Interfaces/Exchange.hpp b/Include/Game/Interfaces/Exchange.hpp index c0b9e9b..17bd475 100644 --- a/Include/Game/Interfaces/Exchange.hpp +++ b/Include/Game/Interfaces/Exchange.hpp @@ -1,9 +1,11 @@ #ifndef EXCHANGE_HPP_INCLUDED #define EXCHANGE_HPP_INCLUDED +#include "../../Core/Classes/ExchangeOffer.hpp" #include #include #include +#include /** @addtogroup Interfaces * @{ */ @@ -11,6 +13,8 @@ class Exchange { public: + typedef std::int32_t SLOT; + typedef enum SLOT_STATE { STATE_EMPTY = 0, @@ -39,11 +43,12 @@ class Exchange static bool IsOpen(); static bool Open(); static bool Close(); - static SLOT_STATE GetSlotState(const std::uint32_t Slot); - static bool SlotOccupied(const std::uint32_t Slot); + static SLOT_STATE GetSlotState(const Exchange::SLOT Slot); + static bool SlotOccupied(const Exchange::SLOT Slot); static std::vector GetAllSlotStates(); static bool AllSlotsOccupied(); static std::int32_t GetOfferIndex(); + static SLOT_MODE GetOfferMode(); static std::int32_t GetOfferItemID(); static std::string GetOfferItemName(); @@ -52,12 +57,39 @@ class Exchange static bool OfferOpen(); static bool CloseOffer(); static bool OffersOpen(); - static bool SlotUseble(const std::uint32_t Slot); + static bool SlotUseble(const Exchange::SLOT Slot); static bool CanCollect(); static bool Collect(const bool Inventory = true); - static bool OpenBuyOffer(); - static bool OpenSellOffer(); + static bool IsBuyOfferOpen(); + static bool IsSellOfferOpen(); + static bool OpenBuyOffer(const Exchange::SLOT Slot = -1); + static bool OpenSellOffer(const Exchange::SLOT Slot = -1); + + static Exchange::SLOT GetBuyOffer(std::int32_t ID); + static Exchange::SLOT GetBuyOffer(const std::string& Name); + static Exchange::SLOT GetBuyOffer(const std::function& Filter); + static std::vector GetBuyOffers(std::int32_t ID); + static std::vector GetBuyOffers(const std::string& Name); + static std::vector GetBuyOffers(const std::function& Filter); + + static Exchange::SLOT GetSellOffer(std::int32_t ID); + static Exchange::SLOT GetSellOffer(const std::string& Name); + static Exchange::SLOT GetSellOffer(const std::function& Filter); + static std::vector GetSellOffers(std::int32_t ID); + static std::vector GetSellOffers(const std::string& Name); + static std::vector GetSellOffers(const std::function& Filter); + + + static bool SetSellItem(const std::string& Name); + static bool SetSellItem(std::int32_t ID); + static bool SetBuyItem(const std::string& Name); + static bool SetOfferAmount(std::uint32_t Amount); + static bool SetOfferPrice(std::uint32_t Price); + static bool SetOfferGuidePrice(); + static bool ConfirmOffer(); + + }; /** @} */ diff --git a/Library/libAlpacaLibrary.a b/Library/libAlpacaLibrary.a index 9e1c41b..8d08047 100644 Binary files a/Library/libAlpacaLibrary.a and b/Library/libAlpacaLibrary.a differ