#pragma once #include "AbstractContainerMenu.h" #include "Slot.h" class HorseInventoryMenu; class HorseSaddleSlot : public Slot { public: HorseSaddleSlot( shared_ptr horseInventory ); bool mayPlace(shared_ptr item); }; class HorseArmorSlot : public Slot { private: HorseInventoryMenu *m_parent; public: HorseArmorSlot( HorseInventoryMenu *parent, shared_ptr horseInventory ); bool mayPlace(shared_ptr item); bool isActive(); }; class HorseInventoryMenu : public AbstractContainerMenu { friend class HorseArmorSlot; private: shared_ptr horseContainer; shared_ptr horse; public: HorseInventoryMenu(shared_ptr playerInventory, shared_ptr horseInventory, shared_ptr horse); bool stillValid(shared_ptr player); shared_ptr quickMoveStack(shared_ptr player, int slotIndex); void removed(shared_ptr player); shared_ptr getContainer(); };