#pragma once #include "Container.h" #include "ArrayWithLength.h" class Merchant; class Player; class MerchantRecipe; class MerchantContainer : public Container { private: shared_ptr merchant; ItemInstanceArray items; shared_ptr player; MerchantRecipe *activeRecipe; int selectionHint; public: MerchantContainer(shared_ptr player, shared_ptr villager); ~MerchantContainer(); unsigned int getContainerSize(); shared_ptr getItem(unsigned int slot); shared_ptr removeItem(unsigned int slot, int count); private: bool isPaymentSlot(int slot); public: shared_ptr removeItemNoUpdate(int slot); void setItem(unsigned int slot, shared_ptr item); int getName(); int getMaxStackSize(); bool stillValid(shared_ptr player); void startOpen(); void stopOpen(); void setChanged(); void updateSellItem(); MerchantRecipe *getActiveRecipe(); void setSelectionHint(int selectionHint); };