#ifndef VOXELS_CHUNKSSTORAGE_H_ #define VOXELS_CHUNKSSTORAGE_H_ #include #include #include "voxel.h" #include "../typedefs.h" #define GLM_ENABLE_EXPERIMENTAL #include "glm/gtx/hash.hpp" class Chunk; class VoxelsVolume; class ChunksStorage { std::unordered_map> chunksMap; public: ChunksStorage(); virtual ~ChunksStorage(); std::shared_ptr get(int x, int y) const; void store(std::shared_ptr chunk); void remove(int x, int y); void getVoxels(VoxelsVolume* volume) const; light_t getLight(int x, int y, int z, ubyte channel) const; }; #endif // VOXELS_CHUNKSSTORAGE_H_