#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; };