diff options
Diffstat (limited to 'src/BlockEntities/NoteEntity.h')
-rw-r--r-- | src/BlockEntities/NoteEntity.h | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/src/BlockEntities/NoteEntity.h b/src/BlockEntities/NoteEntity.h new file mode 100644 index 000000000..e2d088f44 --- /dev/null +++ b/src/BlockEntities/NoteEntity.h @@ -0,0 +1,63 @@ + +#pragma once + +#include "BlockEntity.h" + + +namespace Json +{ + class Value; +} + + + + + +enum ENUM_NOTE_INSTRUMENTS +{ + E_INST_HARP_PIANO = 0, + E_INST_DOUBLE_BASS = 1, + E_INST_SNARE_DRUM = 2, + E_INST_CLICKS = 3, + E_INST_BASS_DRUM = 4 +}; + + + + + +// tolua_begin + +class cNoteEntity : + public cBlockEntity +{ + typedef cBlockEntity super; +public: + + // tolua_end + + /// Creates a new note entity. a_World may be NULL + cNoteEntity(int a_X, int a_Y, int a_Z, cWorld * a_World); + + bool LoadFromJson(const Json::Value & a_Value); + virtual void SaveToJson(Json::Value & a_Value) override; + + // tolua_begin + + char GetPitch(void); + void SetPitch(char a_Pitch); + void IncrementPitch(void); + void MakeSound(void); + + // tolua_end + + virtual void UsedBy(cPlayer * a_Player) override; + virtual void SendTo(cClientHandle & a_Client) override { }; + +private: + char m_Pitch; +} ; // tolua_export + + + + |