diff --git a/Source/Editor/Surface/Archetypes/Animation.MultiBlend.cs b/Source/Editor/Surface/Archetypes/Animation.MultiBlend.cs index ffb04c6af..294cf8b84 100644 --- a/Source/Editor/Surface/Archetypes/Animation.MultiBlend.cs +++ b/Source/Editor/Surface/Archetypes/Animation.MultiBlend.cs @@ -937,6 +937,22 @@ namespace FlaxEditor.Surface.Archetypes UpdateUI(); } + + /// + public override bool Search(string text) + { + FlaxEngine.Json.JsonSerializer.ParseID(text, out var id); + if (id != Guid.Empty) + { + for (int i = 5; i < Values.Length; i += 2) + { + if ((Guid)Values[i] == id) + return true; + } + } + + return base.Search(text); + } } /// diff --git a/Source/Editor/Surface/SurfaceNode.cs b/Source/Editor/Surface/SurfaceNode.cs index da64fe613..94e1c32b8 100644 --- a/Source/Editor/Surface/SurfaceNode.cs +++ b/Source/Editor/Surface/SurfaceNode.cs @@ -862,6 +862,16 @@ namespace FlaxEditor.Surface } } + /// + /// Custom function to check if node matches a given search query. + /// + /// Text to check. + /// True if node contains a given value. + public virtual bool Search(string text) + { + return false; + } + private string GetTooltip() { StringBuilder sb = new StringBuilder(); diff --git a/Source/Editor/Windows/Search/ContentSearchWindow.cs b/Source/Editor/Windows/Search/ContentSearchWindow.cs index dd506a849..e485fc88c 100644 --- a/Source/Editor/Windows/Search/ContentSearchWindow.cs +++ b/Source/Editor/Windows/Search/ContentSearchWindow.cs @@ -617,7 +617,7 @@ namespace FlaxEngine.Windows.Search } var nodeSearchText = node.ContentSearchText; - if (newTreeNodes.Count != 0 || (nodeSearchText != null && IsSearchMatch(ref nodeSearchText))) + if (newTreeNodes.Count != 0 || (nodeSearchText != null && IsSearchMatch(ref nodeSearchText)) || node.Search(_searchText)) { AddAssetSearchResult(ref assetTreeNode, asset); var nodeTreeNode = new SearchResultTreeNode