blob: 532f8905a5f4824d8abecfff355169966bd1c5ad (
plain) (
tree)
|
|
#pragma once
#include "BlockEntity.h"
#include "../BlockType.h"
// tolua_begin
class cJukeboxEntity :
public cBlockEntity
{
// tolua_end
using super = cBlockEntity;
public: // tolua_export
BLOCKENTITY_PROTODEF(cJukeboxEntity)
cJukeboxEntity(BLOCKTYPE a_BlockType, NIBBLETYPE a_BlockMeta, Vector3i a_Pos, cWorld * a_World);
virtual ~cJukeboxEntity() override;
// tolua_begin
int GetRecord(void);
void SetRecord(int a_Record);
/** Plays the specified Record. Return false if a_Record isn't a playable Record (E_ITEM_XXX_DISC).
If there is a record already playing, ejects it first. */
bool PlayRecord(int a_Record);
/** Ejects the currently held record as a pickup. Return false when no record had been inserted. */
bool EjectRecord(void);
/** Is in the Jukebox a Record? */
bool IsPlayingRecord(void);
static bool IsRecordItem(int a_Item)
{
return ((a_Item >= E_ITEM_FIRST_DISC) && (a_Item <= E_ITEM_LAST_DISC));
}
// tolua_end
// cBlockEntity overrides:
virtual void Destroy(void) override;
virtual void CopyFrom(const cBlockEntity & a_Src) override;
virtual bool UsedBy(cPlayer * a_Player) override;
virtual void SendTo(cClientHandle &) override {}
private:
int m_Record;
} ; // tolua_end
|