Inventoty.cpp 873 B

123456789101112131415161718192021222324252627282930313233
  1. #include "Inventory.h"
  2. #include "Area.h"
  3. using namespace Framework;
  4. Inventory::Inventory( const Framework::Vec3<float> location )
  5. {
  6. pullSlotsOrder = new Framework::RCArray<ItemSlot>();
  7. pushSlotsOrder = new Framework::RCArray<ItemSlot>();
  8. }
  9. Inventory::~Inventory()
  10. {
  11. pullSlotsOrder->release();
  12. pushSlotsOrder->release();
  13. }
  14. void Inventory::loadInventory( Framework::StreamReader *zReader )
  15. {
  16. for( auto iterator = pushSlotsOrder->getIterator(); iterator; iterator++ )
  17. {
  18. int size = 0;
  19. zReader->lese( (char *)&size, 4 );
  20. if( size != 0 )
  21. {
  22. int id = 0;
  23. zReader->lese( (char *)&id, 4 );
  24. Item *item = StaticRegistry<ItemType>::INSTANCE.zElement( id )->loadItem( zReader );
  25. iterator->setItems( new ItemStack( item, size ) );
  26. }
  27. }
  28. }