#pragma once #include #include "bettola/noise/fast_noise_lite.h" #include "bettola/game/chunk.h" struct ChunkPos { int x, z; bool operator<(const ChunkPos& other) const { if(x < other.x) return true; if(x > other.x) return false; return z < other.z; } }; class World { public: World(void); BettolaLib::Game::Chunk& get_chunk(int x, int z); float get_height(float world_x, float world_z); private: void _generate_chunk(BettolaLib::Game::Chunk& chunk, int chunk_x, int chunk_z); FastNoiseLite _noise; FastNoiseLite _detail_noise; std::map _chunks; };