bettola/srv/game/world.h

29 lines
550 B
C++

#pragma once
#include <map>
#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);
private:
void _generate_chunk(BettolaLib::Game::Chunk& chunk, int chunk_x, int chunk_z);
FastNoiseLite m_noise;
std::map<ChunkPos, BettolaLib::Game::Chunk> m_chunks;
};