#pragma once #include "ItemStack.h" #include "Area.h" class ItemSlot : public virtual Framework::ReferenceCounter { private: ItemStack* items; int maxSize; Directions allowedPullSide; Directions allowedPushSides; int pullPriority; int pushPriority; bool allowHigherStackSize; Framework::Text name; public: ItemSlot(Framework::Text name, int maxSize, int pullPriority, int pushPriority, int allowedPullSide, int allowedPushSides, bool allowHigherStackSize); ~ItemSlot(); void setItems(ItemStack* item); int getPullPriority() const; int getPushPriority() const; ItemStack* zStack() const; const Framework::Text& getName() const; };