diff options
author | Howaner <franzi.moos@googlemail.com> | 2014-12-13 15:06:55 +0100 |
---|---|---|
committer | Howaner <franzi.moos@googlemail.com> | 2014-12-13 15:06:55 +0100 |
commit | b6fd4002769b3a1d1f2ee875f7ebba99ee1446d0 (patch) | |
tree | 11fcc800b589a7a46a30b6346f6d87d407ce5dc0 /src/UI/BeaconWindow.h | |
parent | Merge pull request #1660 from Seadragon91/master (diff) | |
download | cuberite-b6fd4002769b3a1d1f2ee875f7ebba99ee1446d0.tar cuberite-b6fd4002769b3a1d1f2ee875f7ebba99ee1446d0.tar.gz cuberite-b6fd4002769b3a1d1f2ee875f7ebba99ee1446d0.tar.bz2 cuberite-b6fd4002769b3a1d1f2ee875f7ebba99ee1446d0.tar.lz cuberite-b6fd4002769b3a1d1f2ee875f7ebba99ee1446d0.tar.xz cuberite-b6fd4002769b3a1d1f2ee875f7ebba99ee1446d0.tar.zst cuberite-b6fd4002769b3a1d1f2ee875f7ebba99ee1446d0.zip |
Diffstat (limited to 'src/UI/BeaconWindow.h')
-rw-r--r-- | src/UI/BeaconWindow.h | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/src/UI/BeaconWindow.h b/src/UI/BeaconWindow.h new file mode 100644 index 000000000..0ea5a7e6a --- /dev/null +++ b/src/UI/BeaconWindow.h @@ -0,0 +1,53 @@ + +// BeaconWindow.h + +// Representing the UI window for the beacon block + + + + + +#pragma once + +#include "Window.h" +#include "../Entities/Player.h" + + + + + +class cBeaconWindow : + public cWindow +{ + typedef cWindow super; + +public: + cBeaconWindow(int a_BlockX, int a_BlockY, int a_BlockZ, cBeaconEntity * a_Beacon) : + cWindow(wtBeacon, "Beacon"), + m_Beacon(a_Beacon) + { + m_ShouldDistributeToHotbarFirst = true; + m_SlotAreas.push_back(new cSlotAreaBeacon(m_Beacon, *this)); + m_SlotAreas.push_back(new cSlotAreaInventory(*this)); + m_SlotAreas.push_back(new cSlotAreaHotBar(*this)); + } + + cBeaconEntity * GetBeaconEntity(void) const { return m_Beacon; } + + // cWindow Overrides: + virtual void OpenedByPlayer(cPlayer & a_Player) override + { + super::OpenedByPlayer(a_Player); + + a_Player.GetClientHandle()->SendWindowProperty(*this, 0, m_Beacon->GetBeaconLevel()); + a_Player.GetClientHandle()->SendWindowProperty(*this, 1, m_Beacon->GetPrimaryEffect()); + a_Player.GetClientHandle()->SendWindowProperty(*this, 2, m_Beacon->GetSecondaryEffect()); + } + +protected: + cBeaconEntity * m_Beacon; +}; + + + + |