From 9fefe64c3b1e1126f283a7aa5d904c80643b10c4 Mon Sep 17 00:00:00 2001 From: Relintai Date: Mon, 7 Apr 2025 17:30:29 +0200 Subject: [PATCH] Added force_save_all_chunks() method to TerrainWorld. --- modules/terraman/world/terrain_world.cpp | 8 ++++++++ modules/terraman/world/terrain_world.h | 2 ++ 2 files changed, 10 insertions(+) diff --git a/modules/terraman/world/terrain_world.cpp b/modules/terraman/world/terrain_world.cpp index 61647a4e9..796315c5c 100644 --- a/modules/terraman/world/terrain_world.cpp +++ b/modules/terraman/world/terrain_world.cpp @@ -602,6 +602,12 @@ void TerrainWorld::chunk_generate(Ref chunk) { chunk->build(); } +void TerrainWorld::force_save_all_chunks() { + ERR_FAIL_COND(!_world_chunk_data_manager.is_valid()); + + _world_chunk_data_manager->save_all_chunks(this); +} + Vector TerrainWorld::chunks_get() { VARIANT_ARRAY_GET(_chunks_vector); } @@ -1788,6 +1794,8 @@ void TerrainWorld::_bind_methods() { ClassDB::bind_method(D_METHOD("chunks_clear"), &TerrainWorld::chunks_clear); + ClassDB::bind_method(D_METHOD("force_save_all_chunks"), &TerrainWorld::force_save_all_chunks); + ClassDB::bind_method(D_METHOD("chunks_get"), &TerrainWorld::chunks_get); ClassDB::bind_method(D_METHOD("chunks_set"), &TerrainWorld::chunks_set); ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "chunks", PROPERTY_HINT_NONE, "23/20:TerrainChunk", PROPERTY_USAGE_DEFAULT, "TerrainChunk"), "chunks_set", "chunks_get"); diff --git a/modules/terraman/world/terrain_world.h b/modules/terraman/world/terrain_world.h index 0b025c15f..fc9a7c580 100644 --- a/modules/terraman/world/terrain_world.h +++ b/modules/terraman/world/terrain_world.h @@ -169,6 +169,8 @@ public: void chunk_generate(Ref chunk); + void force_save_all_chunks(); + Vector chunks_get(); void chunks_set(const Vector &chunks);