From 7a83bce996c213802ddb80d61caa9770bf804238 Mon Sep 17 00:00:00 2001 From: Chandler Cox Date: Mon, 10 Mar 2025 12:46:30 -0500 Subject: [PATCH] Add using c: in search filtering to find control types. --- Source/Editor/SceneGraph/GUI/ActorTreeNode.cs | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs index a1b709efd..5dd5f6cbe 100644 --- a/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs +++ b/Source/Editor/SceneGraph/GUI/ActorTreeNode.cs @@ -238,7 +238,7 @@ namespace FlaxEditor.SceneGraph.GUI } else { - if (Actor !=null) + if (Actor != null) { var actorTypeText = trimmedFilter.Replace("a:", "", StringComparison.OrdinalIgnoreCase).Trim(); var name = TypeUtils.GetTypeDisplayName(Actor.GetType()); @@ -248,6 +248,26 @@ namespace FlaxEditor.SceneGraph.GUI } } } + // Check for control type + else if (trimmedFilter.Contains("c:", StringComparison.OrdinalIgnoreCase)) + { + if (trimmedFilter.Equals("c:", StringComparison.OrdinalIgnoreCase)) + { + if (Actor != null) + hasFilter = true; + } + else + { + if (Actor != null && Actor is UIControl uic && uic.Control != null) + { + var controlTypeText = trimmedFilter.Replace("c:", "", StringComparison.OrdinalIgnoreCase).Trim(); + var name = TypeUtils.GetTypeDisplayName(uic.Control.GetType()); + var nameNoSpaces = name.Replace(" ", ""); + if (name.Contains(controlTypeText, StringComparison.OrdinalIgnoreCase) || nameNoSpaces.Contains(controlTypeText, StringComparison.OrdinalIgnoreCase)) + hasFilter = true; + } + } + } // Match text else {