aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/SignTileEntity.h
blob: 9b06aaab8ae36a924eadd82fccd3df372b5cc93b (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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#pragma once
using namespace std;

#include "TileEntity.h"

#define MAX_SIGN_LINES 4

class SignTileEntity : public TileEntity
{
public:
	eINSTANCEOF GetType() { return eTYPE_SIGNTILEENTITY; }
	static TileEntity *create() { return new SignTileEntity(); }
public:
	static const int MAX_LINE_LENGTH;

public:
	SignTileEntity();
	virtual ~SignTileEntity();
	wstring GetMessage(int i)								{ return m_wsmessages[i];}
	wstring *GetMessages()									{ return m_wsmessages;}
	void SetMessage(int iIndex,wstring &wsText);
	int GetSelectedLine()									{return m_iSelectedLine;}
	void SetSelectedLine(int iLine)							{m_iSelectedLine=iLine;}
	bool IsVerified()										{return m_bVerified;}
	void SetVerified(bool bVerified)						{m_bVerified=bVerified;}
	bool IsCensored()										{return m_bCensored;}
	void SetCensored(bool bCensored)						{m_bCensored=bCensored;}
public:

private:
	shared_ptr<Player> playerWhoMayEdit;
	bool _isEditable;
	bool m_bVerified;
	bool m_bCensored;
	int m_iSelectedLine;

	wstring m_wsmessages[MAX_SIGN_LINES];

public:
	virtual void save(CompoundTag *tag);
	virtual void load(CompoundTag *tag);
	virtual shared_ptr<Packet> getUpdatePacket();
	bool isEditable();
	void setEditable(bool isEditable);
	void setAllowedPlayerEditor(shared_ptr<Player> player);
	shared_ptr<Player> getPlayerWhoMayEdit();
	virtual void setChanged();
	static int StringVerifyCallback(LPVOID lpParam,STRING_VERIFY_RESPONSE *pResults);

	// 4J Added
	virtual shared_ptr<TileEntity> clone();
};