From a3bfd9b797586f563a15eb0fdb9a7a8b7e4dacdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gilles=20Roudi=C3=A8re?= Date: Wed, 11 Oct 2023 13:34:18 +0200 Subject: [PATCH] Warn users when TileMap is set as Y-sorted but no layer is --- scene/2d/tile_map.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/scene/2d/tile_map.cpp b/scene/2d/tile_map.cpp index 7b0bd7e26cb..6372330b441 100644 --- a/scene/2d/tile_map.cpp +++ b/scene/2d/tile_map.cpp @@ -4518,14 +4518,26 @@ PackedStringArray TileMap::get_configuration_warnings() const { } } - // Check if Y-sort is enabled on a layer but not on the node. if (!is_y_sort_enabled()) { + // Check if Y-sort is enabled on a layer but not on the node. for (const Ref &layer : layers) { if (layer->is_y_sort_enabled()) { warnings.push_back(RTR("A TileMap layer is set as Y-sorted, but Y-sort is not enabled on the TileMap node itself.")); break; } } + } else { + // Check if Y-sort is enabled on the node, but not on any of the layers. + bool need_warning = true; + for (const Ref &layer : layers) { + if (layer->is_y_sort_enabled()) { + need_warning = false; + break; + } + } + if (need_warning) { + warnings.push_back(RTR("The TileMap node is set as Y-sorted, but Y-sort is not enabled on any of the TileMap's layers.\nThis may lead to unwanted behaviors, as a layer that is not Y-sorted will be Y-sorted as a whole.")); + } } // Check if we are in isometric mode without Y-sort enabled.