2013-11-14 09:37:09 -05:00
|
|
|
// SignEntity.h
|
|
|
|
|
|
|
|
// Declares the cSignEntity class representing a single sign in the world
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2012-06-14 09:06:06 -04:00
|
|
|
#pragma once
|
|
|
|
|
2012-09-23 18:09:57 -04:00
|
|
|
#include "BlockEntity.h"
|
2012-06-14 09:06:06 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace Json
|
|
|
|
{
|
|
|
|
class Value;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2013-11-14 09:37:09 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// tolua_begin
|
|
|
|
|
2014-07-17 16:50:58 -04:00
|
|
|
class cSignEntity :
|
2012-06-14 09:06:06 -04:00
|
|
|
public cBlockEntity
|
|
|
|
{
|
2013-11-14 09:37:09 -05:00
|
|
|
typedef cBlockEntity super;
|
|
|
|
|
2012-06-14 09:06:06 -04:00
|
|
|
public:
|
2013-11-14 09:37:09 -05:00
|
|
|
|
|
|
|
// tolua_end
|
|
|
|
|
2013-11-15 03:36:43 -05:00
|
|
|
/// Creates a new empty sign entity at the specified block coords and block type (wall or standing). a_World may be NULL
|
2013-04-06 17:21:57 -04:00
|
|
|
cSignEntity(BLOCKTYPE a_BlockType, int a_X, int a_Y, int a_Z, cWorld * a_World);
|
2012-06-14 09:06:06 -04:00
|
|
|
|
2014-07-21 09:19:48 -04:00
|
|
|
bool LoadFromJson( const Json::Value& a_Value);
|
|
|
|
virtual void SaveToJson(Json::Value& a_Value) override;
|
2012-06-14 09:06:06 -04:00
|
|
|
|
2013-11-14 09:37:09 -05:00
|
|
|
// tolua_begin
|
|
|
|
|
|
|
|
/// Sets all the sign's lines
|
|
|
|
void SetLines(const AString & a_Line1, const AString & a_Line2, const AString & a_Line3, const AString & a_Line4);
|
|
|
|
|
|
|
|
/// Sets individual line (zero-based index)
|
|
|
|
void SetLine(int a_Index, const AString & a_Line);
|
2012-06-14 09:06:06 -04:00
|
|
|
|
2013-11-14 09:37:09 -05:00
|
|
|
/// Retrieves individual line (zero-based index)
|
|
|
|
AString GetLine(int a_Index) const;
|
|
|
|
|
|
|
|
// tolua_end
|
|
|
|
|
|
|
|
virtual void UsedBy(cPlayer * a_Player) override;
|
2012-08-24 03:58:26 -04:00
|
|
|
virtual void SendTo(cClientHandle & a_Client) override;
|
2014-02-12 17:06:13 -05:00
|
|
|
|
2014-02-15 08:55:58 -05:00
|
|
|
static const char * GetClassStatic(void) { return "cSignEntity"; }
|
2012-06-14 09:06:06 -04:00
|
|
|
|
|
|
|
private:
|
|
|
|
|
|
|
|
AString m_Line[4];
|
2013-11-14 09:37:09 -05:00
|
|
|
} ; // tolua_export
|
2012-06-14 09:06:06 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|