ItemStack.h 577 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. #include "Item.h"
  3. class ItemStack : public virtual Framework::ReferenceCounter
  4. {
  5. private:
  6. Item *item;
  7. int size;
  8. int maxSize;
  9. public:
  10. ItemStack( Item *item, int currentSize, int maxSize );
  11. ItemStack( Item *item, int currentSize );
  12. void setMaxSize( int size );
  13. ItemStack *split( int size );
  14. Item *extractFromStack();
  15. bool addToStack( Item *item );
  16. void addItemStack( ItemStack *zItemStack );
  17. bool isStackable( Item *zItem ) const;
  18. const Item *zItem() const;
  19. int getSize() const;
  20. int getMaxSize() const;
  21. };