Chunk.h 811 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include <Punkt.h>
  3. #include "Block.h"
  4. #include "Area.h"
  5. class Chunk : public virtual Framework::ReferenceCounter
  6. {
  7. private:
  8. int dimensionId;
  9. Framework::Punkt location;
  10. Block **blocks;
  11. Chunk *zNeighbours[ 4 ];
  12. public:
  13. Chunk( Framework::Punkt location, int dimensionId );
  14. Chunk( Framework::Punkt location, int dimensionId, Framework::StreamReader *zReader );
  15. ~Chunk();
  16. Block *getBlockAt( Framework::Vec3<int> cLocation ) const;
  17. Block *zBlockAt( Framework::Vec3<int> cLocation ) const;
  18. void putBlockAt( Framework::Vec3<int> location, Block *block );
  19. void setNeighbor( Direction dir, Chunk *zChunk );
  20. void load( Framework::StreamReader *zReader );
  21. int getDimensionId() const;
  22. Framework::Punkt getCenter() const;
  23. };