Преглед на файлове

Merge pull request #42979 from Mallos/fix/tilemap-floodfill

fix(editor): TileMap floodfill with same tile ID and different variation
Rémi Verschelde преди 5 години
родител
ревизия
be14d9d644
променени са 1 файла, в които са добавени 8 реда и са изтрити 2 реда
  1. 8 2
      editor/plugins/tile_map_editor_plugin.cpp

+ 8 - 2
editor/plugins/tile_map_editor_plugin.cpp

@@ -651,9 +651,15 @@ Vector<Vector2> TileMapEditor::_bucket_fill(const Point2i &p_start, bool erase,
 		return Vector<Vector2>();
 	}
 
+	// Check if the tile variation is the same
+	Vector2 prev_position = node->get_cell_autotile_coord(p_start.x, p_start.y);
 	if (ids.size() == 1 && ids[0] == prev_id) {
-		// Same ID, nothing to change
-		return Vector<Vector2>();
+		int current = manual_palette->get_current();
+		Vector2 position = manual_palette->get_item_metadata(current);
+		if (prev_position == position) {
+			// Same ID and variation, nothing to change
+			return Vector<Vector2>();
+		}
 	}
 
 	Rect2i r = node->get_used_rect();