diff options
Diffstat (limited to 'scene/2d/tile_map.cpp')
-rw-r--r-- | scene/2d/tile_map.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index 3b19cb5566..1f70d4b558 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -3072,8 +3072,12 @@ void TileMap::_internal_update() { return; } + // FIXME: This should only clear polygons that are no longer going to be used, but since it's difficult to determine, + // the cache is never cleared at runtime to prevent invalidating used polygons. + if (Engine::get_singleton()->is_editor_hint()) { + polygon_cache.clear(); + } // Update dirty quadrants on layers. - polygon_cache.clear(); for (Ref<TileMapLayer> &layer : layers) { layer->internal_update(); } |