#pragma once #define GLM_ENABLE_EXPERIMENTAL #include #include "util/WeakPtrsMap.hpp" class Chunk; class Level; class ChunksStorage { Level* level; std::shared_ptr> chunksMap; public: ChunksStorage(Level* level); ~ChunksStorage() = default; std::shared_ptr fetch(int x, int z); std::shared_ptr create(int x, int z); size_t size() const; };