#pragma once #include "Item.h" class ItemStack : public virtual Framework::ReferenceCounter { private: Item* item; int size; int maxSize; public: ItemStack(Item* item, int currentSize, int maxSize); ItemStack(Item* item, int currentSize); ~ItemStack(); void setMaxSize(int size); ItemStack* split(int size); Item* extractFromStack(); bool addToStack(Item* item); void addItemStack(ItemStack* zItemStack); bool isStackable(Item* zItem) const; const Item* zItem() const; int getSize() const; int getMaxSize() const; };