diff options
Diffstat (limited to 'Minecraft.World/HorseInventoryMenu.h')
| -rw-r--r-- | Minecraft.World/HorseInventoryMenu.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/Minecraft.World/HorseInventoryMenu.h b/Minecraft.World/HorseInventoryMenu.h new file mode 100644 index 00000000..613c55f9 --- /dev/null +++ b/Minecraft.World/HorseInventoryMenu.h @@ -0,0 +1,41 @@ +#pragma once + +#include "AbstractContainerMenu.h" +#include "Slot.h" + +class HorseInventoryMenu; + +class HorseSaddleSlot : public Slot +{ +public: + HorseSaddleSlot( shared_ptr<Container> horseInventory ); + + bool mayPlace(shared_ptr<ItemInstance> item); +}; + +class HorseArmorSlot : public Slot +{ +private: + HorseInventoryMenu *m_parent; +public: + HorseArmorSlot( HorseInventoryMenu *parent, shared_ptr<Container> horseInventory ); + + bool mayPlace(shared_ptr<ItemInstance> item); + bool isActive(); +}; + +class HorseInventoryMenu : public AbstractContainerMenu +{ + friend class HorseArmorSlot; +private: + shared_ptr<Container> horseContainer; + shared_ptr<EntityHorse> horse; + +public: + HorseInventoryMenu(shared_ptr<Container> playerInventory, shared_ptr<Container> horseInventory, shared_ptr<EntityHorse> horse); + + bool stillValid(shared_ptr<Player> player); + shared_ptr<ItemInstance> quickMoveStack(shared_ptr<Player> player, int slotIndex); + void removed(shared_ptr<Player> player); + shared_ptr<Container> getContainer(); +};
\ No newline at end of file |
