summaryrefslogtreecommitdiffhomepage
path: root/src/world.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/world.hpp')
-rw-r--r--src/world.hpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/world.hpp b/src/world.hpp
index 3bfcf702..36703fd3 100644
--- a/src/world.hpp
+++ b/src/world.hpp
@@ -18,13 +18,14 @@ private:
chunk_coords pos = invalid_coords;
} _last_chunk;
- static constexpr std::size_t initial_capacity = 64, collect_every = 64;
+ static constexpr std::size_t initial_capacity = 64;
static constexpr float max_load_factor = .5;
static constexpr auto hasher = [](chunk_coords c) constexpr -> std::size_t {
return int_hash((std::size_t)c.y << 16 | (std::size_t)c.x);
};
std::unordered_map<chunk_coords, chunk, decltype(hasher)> _chunks;
std::size_t _last_collection = 0;
+ std::size_t _collect_every = 64;
explicit world(std::size_t capacity);
@@ -48,6 +49,8 @@ public:
void serialize(StringView filename);
static world deserialize(StringView filename);
+ void set_collect_threshold(std::size_t value) { _collect_every = value; }
+ std::size_t collect_threshold() const noexcept { return _collect_every; }
fm_DECLARE_DEPRECATED_COPY_ASSIGNMENT(world);
fm_DECLARE_DEFAULT_MOVE_ASSIGNMENT_(world);