From 296640ab8f6164ae144602e0fb095b1c16465873 Mon Sep 17 00:00:00 2001 From: MrBBBaiXue Date: Wed, 13 Apr 2022 01:50:08 +0800 Subject: [PATCH] Add a way to filter nodes by type. Add a way to filter nodes by type. Usage: type:NodeType or t:NodeType Co-Authored-By: Haoyu Qiu --- editor/scene_tree_editor.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index ad83db9b607..9a5ed7168f3 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -602,7 +602,9 @@ bool SceneTreeEditor::_update_filter(TreeItem *p_parent, bool p_scroll_to_select } if (!keep) { - keep = filter.is_subsequence_ofn(p_parent->get_text(0)); + StringName node_type = get_node(p_parent->get_metadata(0))->get_class(); + bool is_kept_by_type = (filter.begins_with("type:") && filter.trim_prefix("type:").is_subsequence_ofn(node_type)) || (filter.begins_with("t:") && filter.trim_prefix("t:").is_subsequence_ofn(node_type)); + keep = (filter.is_subsequence_ofn(p_parent->get_text(0)) || is_kept_by_type); } p_parent->set_visible(keep);