From 6f97e7232a8034b463209b66cd8ecd9b5d94e864 Mon Sep 17 00:00:00 2001 From: Mikhail <99481254+DCFApixels@users.noreply.github.com> Date: Wed, 1 Apr 2026 16:13:08 +0800 Subject: [PATCH] add search for query monitor --- .../Editor/WorldQueriesMonitorEditor.cs | 35 ++++++++++++++++++- .../Monitors/WorldQueriesMonitor.cs | 2 +- 2 files changed, 35 insertions(+), 2 deletions(-) diff --git a/src/DebugUtils/Monitors/Editor/WorldQueriesMonitorEditor.cs b/src/DebugUtils/Monitors/Editor/WorldQueriesMonitorEditor.cs index 9445f73..4172f96 100644 --- a/src/DebugUtils/Monitors/Editor/WorldQueriesMonitorEditor.cs +++ b/src/DebugUtils/Monitors/Editor/WorldQueriesMonitorEditor.cs @@ -107,6 +107,7 @@ namespace DCFApixels.DragonECS.Unity.Editors GUIUtility.systemCopyBuffer = sb.ToString(); } + public bool HasSearchPattern = false; protected override void DrawCustom() { if (_headerStyle == null) @@ -126,6 +127,20 @@ namespace DCFApixels.DragonECS.Unity.Editors } EditorGUILayout.IntField("Count: ", executors.Count); + + + HasSearchPattern = true; + if (string.IsNullOrEmpty(Target.SearchPattern)) + { + Target.SearchPattern = string.Empty; + HasSearchPattern = false; + } + + Target.SearchPattern = EditorGUILayout.TextField("Search: ", Target.SearchPattern); + + + string searchPattern = Target.SearchPattern; + GUILayout.Space(20); //using (EcsGUI.Layout.BeginVertical(UnityEditorUtility.GetStyle(Color.black, 0.2f))) @@ -133,7 +148,24 @@ namespace DCFApixels.DragonECS.Unity.Editors int i = 0; foreach (var executor in executors) { - DrawQueryInfo(executor, i++); + bool cheack(ReadOnlySpan types, string searchPattern) + { + foreach (var type in types) + { + if(type.Name.Contains(searchPattern, StringComparison.OrdinalIgnoreCase)) + { + return true; + } + } + return false; + } + if (!HasSearchPattern || + cheack(executor.Mask.GetIncTypes_Debug(), searchPattern) || + cheack(executor.Mask.GetExcTypes_Debug(), searchPattern) || + cheack(executor.Mask.GetAnyTypes_Debug(), searchPattern)) + { + DrawQueryInfo(executor, i++); + } } } } @@ -145,6 +177,7 @@ namespace DCFApixels.DragonECS.Unity.Editors { //GUILayout.Space(10f); + //using (EcsGUI.Layout.BeginVertical(UnityEditorUtility.GetStyle(GetGenericPanelColor(index)))) using (EcsGUI.Layout.BeginVertical(UnityEditorUtility.GetTransperentBlackBackgrounStyle())) { diff --git a/src/DebugUtils/Monitors/WorldQueriesMonitor.cs b/src/DebugUtils/Monitors/WorldQueriesMonitor.cs index 4e941f3..c791318 100644 --- a/src/DebugUtils/Monitors/WorldQueriesMonitor.cs +++ b/src/DebugUtils/Monitors/WorldQueriesMonitor.cs @@ -14,7 +14,7 @@ namespace DCFApixels.DragonECS.Unity.Internal private EcsWorld _world; private List _maskQueryExecutors = new List(); private int _maskQueryExecutorsVersion = 0; - + public string SearchPattern; public EcsWorld World { get { return _world; }