#pragma once #include "Merchant.h" class MerchantContainer; class MerchantRecipeList; class MerchantRecipe; class ClientSideMerchant : public Merchant, public enable_shared_from_this { private: MerchantContainer *container; shared_ptr source; MerchantRecipeList *currentOffers; int m_name; public: ClientSideMerchant(shared_ptr source, int name); ~ClientSideMerchant(); void createContainer(); // 4J Added Container *getContainer(); shared_ptr getTradingPlayer(); void setTradingPlayer(shared_ptr player); MerchantRecipeList *getOffers(shared_ptr forPlayer); void overrideOffers(MerchantRecipeList *recipeList); void notifyTrade(MerchantRecipe *activeRecipe); void notifyTradeUpdated(shared_ptr item); int getDisplayName(); };