#pragma once #include #include #include "Chunk.h" #include "NetworkResponse.h" class Dimension : public virtual Framework::ReferenceCounter { private: int dimensionId; Framework::Trie *chunks; Framework::RCArray *entities; void getAddrOf( Framework::Punkt cPos, char *addr ) const; void getAddrOfWorld( Framework::Punkt wPos, char *addr ) const; public: Dimension( int id ); ~Dimension(); void api( Framework::StreamReader *zRequest, NetworkResponse *zResponse ); void tickEntities( Game *zGame ); Block *zBlock( Framework::Vec3 location ); void addEntity( Entity *entity ); void addChunk( Chunk *chunk ); void save( Framework::Text worldDir ) const; int getDimensionId() const; bool hasChunck( int x, int y ) const; Chunk *zChunk( Framework::Punkt wPos ) const; };