Merge pull request #83144 from groud/tilemap_y_sort_warning

Warn users when TileMap is set as Y-sorted but no layer is
This commit is contained in:
Rémi Verschelde 2023-10-11 18:31:03 +02:00
commit ae5be1f9af
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -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()) { if (!is_y_sort_enabled()) {
// Check if Y-sort is enabled on a layer but not on the node.
for (const Ref<TileMapLayer> &layer : layers) { for (const Ref<TileMapLayer> &layer : layers) {
if (layer->is_y_sort_enabled()) { 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.")); warnings.push_back(RTR("A TileMap layer is set as Y-sorted, but Y-sort is not enabled on the TileMap node itself."));
break; 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<TileMapLayer> &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. // Check if we are in isometric mode without Y-sort enabled.