瀏覽代碼

Merge pull request #69384 from asalazar516/3.x_delete_nodes_request_param

[3.x] Add missing argument to `AnimationNodeBlendTreeEditor::_delete_nodes_request`
Rémi Verschelde 2 年之前
父節點
當前提交
bf7f93d236

+ 12 - 6
editor/plugins/animation_blend_tree_editor_plugin.cpp

@@ -456,16 +456,22 @@ void AnimationNodeBlendTreeEditor::_delete_request(const String &p_which) {
 	undo_redo->commit_action();
 }
 
-void AnimationNodeBlendTreeEditor::_delete_nodes_request() {
+void AnimationNodeBlendTreeEditor::_delete_nodes_request(const Array &p_nodes) {
 	List<StringName> to_erase;
 
-	for (int i = 0; i < graph->get_child_count(); i++) {
-		GraphNode *gn = Object::cast_to<GraphNode>(graph->get_child(i));
-		if (gn) {
-			if (gn->is_selected() && gn->is_close_button_visible()) {
-				to_erase.push_back(gn->get_name());
+	if (p_nodes.empty()) {
+		for (int i = 0; i < graph->get_child_count(); i++) {
+			GraphNode *gn = Object::cast_to<GraphNode>(graph->get_child(i));
+			if (gn) {
+				if (gn->is_selected() && gn->is_close_button_visible()) {
+					to_erase.push_back(gn->get_name());
+				}
 			}
 		}
+	} else {
+		for (int i = 0; i < p_nodes.size(); i++) {
+			to_erase.push_back(p_nodes[i]);
+		}
 	}
 
 	if (to_erase.empty()) {

+ 1 - 1
editor/plugins/animation_blend_tree_editor_plugin.h

@@ -103,7 +103,7 @@ class AnimationNodeBlendTreeEditor : public AnimationTreeNodeEditorPlugin {
 	void _open_in_editor(const String &p_which);
 	void _anim_selected(int p_index, Array p_options, const String &p_node);
 	void _delete_request(const String &p_which);
-	void _delete_nodes_request();
+	void _delete_nodes_request(const Array &p_nodes);
 
 	bool _update_filters(const Ref<AnimationNode> &anode);
 	void _edit_filters(const String &p_which);