aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/ClientSideMerchant.h
blob: 085768caadebcaeeed3cb07c1e3d38e1677b07a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include "Merchant.h"

class MerchantContainer;
class MerchantRecipeList;
class MerchantRecipe;

class ClientSideMerchant : public Merchant, public enable_shared_from_this<ClientSideMerchant>
{
private:
	MerchantContainer *container;
	shared_ptr<Player> source;
	MerchantRecipeList *currentOffers;
	wstring m_name;

public:
	ClientSideMerchant(shared_ptr<Player> source, const wstring &name);
	~ClientSideMerchant();

	void createContainer(); // 4J Added
	Container *getContainer();
	shared_ptr<Player> getTradingPlayer();
	void setTradingPlayer(shared_ptr<Player> player);
	MerchantRecipeList *getOffers(shared_ptr<Player> forPlayer);
	void overrideOffers(MerchantRecipeList *recipeList);
	void notifyTrade(MerchantRecipe *activeRecipe);
	void notifyTradeUpdated(shared_ptr<ItemInstance> item);
	wstring getDisplayName();
};