Inventory.h 681 B

123456789101112131415161718192021222324252627282930
  1. #pragma once
  2. #include <Vec3.h>
  3. #include <ReferenceCounter.h>
  4. #include <HashMap.h>
  5. #include "ItemSlot.h"
  6. #include "Area.h"
  7. class ItemFilter;
  8. class Inventory;
  9. class Inventory : public virtual Framework::ReferenceCounter
  10. {
  11. private:
  12. Framework::RCArray<ItemSlot>* pullSlotsOrder;
  13. Framework::RCArray<ItemSlot>* pushSlotsOrder;
  14. protected:
  15. Framework::Vec3<float> location;
  16. virtual void loadInventory(Framework::StreamReader* zReader);
  17. void addSlot(ItemSlot* slot);
  18. public:
  19. Inventory(const Framework::Vec3<float> location, bool hasInventory);
  20. virtual ~Inventory();
  21. Framework::Iterator<ItemSlot*> begin();
  22. Framework::Iterator<ItemSlot*> end();
  23. };