2013-07-29 07:13:03 -04:00
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "BlockEntity.h"
|
2013-08-19 05:39:13 -04:00
|
|
|
#include "../Entities/Player.h"
|
2013-07-29 07:13:03 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
namespace Json
|
|
|
|
{
|
|
|
|
class Value;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2013-11-14 10:05:55 -05:00
|
|
|
// tolua_begin
|
|
|
|
|
2013-07-29 07:13:03 -04:00
|
|
|
class cJukeboxEntity :
|
|
|
|
public cBlockEntity
|
|
|
|
{
|
2013-11-14 09:37:09 -05:00
|
|
|
typedef cBlockEntity super;
|
2013-07-29 07:13:03 -04:00
|
|
|
public:
|
2013-11-14 09:37:09 -05:00
|
|
|
|
2013-11-14 10:05:55 -05:00
|
|
|
// tolua_end
|
2013-11-14 09:37:09 -05:00
|
|
|
|
2013-07-29 07:13:03 -04:00
|
|
|
cJukeboxEntity(int a_BlockX, int a_BlockY, int a_BlockZ, cWorld * a_World);
|
|
|
|
virtual ~cJukeboxEntity();
|
|
|
|
|
2013-11-14 10:05:55 -05:00
|
|
|
bool LoadFromJson(const Json::Value & a_Value);
|
|
|
|
virtual void SaveToJson(Json::Value & a_Value) override;
|
2013-07-29 07:13:03 -04:00
|
|
|
|
2013-11-14 10:05:55 -05:00
|
|
|
// tolua_begin
|
|
|
|
|
|
|
|
int GetRecord(void);
|
|
|
|
void SetRecord(int a_Record);
|
|
|
|
void PlayRecord(void);
|
|
|
|
|
|
|
|
/// Ejects the currently held record as a pickup. Does nothing when no record inserted.
|
|
|
|
void EjectRecord(void);
|
|
|
|
|
|
|
|
// tolua_end
|
|
|
|
|
|
|
|
virtual void UsedBy(cPlayer * a_Player) override;
|
2013-07-29 07:13:03 -04:00
|
|
|
virtual void SendTo(cClientHandle & a_Client) override { };
|
|
|
|
|
|
|
|
private:
|
|
|
|
int m_Record;
|
2013-11-14 10:05:55 -05:00
|
|
|
} ; // tolua_end
|
2013-07-29 07:13:03 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|