diff options
Diffstat (limited to 'source/BlockEntities/NoteEntity.h')
-rw-r--r-- | source/BlockEntities/NoteEntity.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/source/BlockEntities/NoteEntity.h b/source/BlockEntities/NoteEntity.h new file mode 100644 index 000000000..385591df6 --- /dev/null +++ b/source/BlockEntities/NoteEntity.h @@ -0,0 +1,52 @@ + +#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 +}; + + + + + +class cNoteEntity : + public cBlockEntity +{ +public: + cNoteEntity(int a_X, int a_Y, int a_Z, cWorld * a_World); + virtual ~cNoteEntity(); + + bool LoadFromJson( const Json::Value& a_Value ); + virtual void SaveToJson( Json::Value& a_Value ) override; + + char GetPitch( void ); + void SetPitch( char a_Pitch ); + void IncrementPitch( void ); + void MakeSound( void ); + virtual void UsedBy( cPlayer * a_Player ) override; + virtual void SendTo(cClientHandle & a_Client) override { }; + +private: + unsigned char m_Pitch; +}; + + + + |