Skip to content

Commit f291ef9

Browse files
committed
Reduce unnecessary refreshes
1 parent 47a12b1 commit f291ef9

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

Editor/DataVisualizer/DataVisualizer.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,6 +542,7 @@ private void RefreshAllViews()
542542
});
543543
}
544544

545+
PopulateSearchCache();
545546
BuildNamespaceView();
546547
BuildObjectsView();
547548

@@ -556,7 +557,6 @@ private void RefreshAllViews()
556557
}
557558

558559
SelectObject(selectedObject);
559-
PopulateSearchCache();
560560
_namespaceController.SelectType(this, selectedType);
561561
}
562562

@@ -4806,6 +4806,11 @@ private static bool IsSubclassOf(Type typeToCheck, Type baseClass)
48064806

48074807
internal void SelectObject(ScriptableObject dataObject)
48084808
{
4809+
if (_selectedObject == dataObject)
4810+
{
4811+
return;
4812+
}
4813+
48094814
_selectedElement?.RemoveFromClassList(StyleConstants.SelectedClass);
48104815
foreach (
48114816
VisualElement child in _selectedElement?.IterateChildrenRecursively()

Editor/DataVisualizer/NamespaceController.cs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,17 @@ public void SelectType(DataVisualizer dataVisualizer, Type type)
151151

152152
public void Build(DataVisualizer dataVisualizer, ref VisualElement namespaceListContainer)
153153
{
154-
_selectedType = null;
154+
HashSet<Type> currentTypes = _managedTypes.SelectMany(x => x.Value).ToHashSet();
155+
if (currentTypes.SetEquals(_namespaceCache.Keys))
156+
{
157+
return;
158+
}
159+
160+
if (!currentTypes.Contains(_selectedType))
161+
{
162+
_selectedType = null;
163+
}
164+
155165
namespaceListContainer ??= new VisualElement { name = "namespace-list" };
156166
namespaceListContainer.Clear();
157167
_namespaceCache.Clear();

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "com.wallstop-studios.data-visualizer",
3-
"version": "0.0.35-rc03.5",
3+
"version": "0.0.35-rc03.6",
44
"displayName": "Data Visualizer",
55
"description": "Data Management UI for Unity's Scriptable Objects",
66
"dependencies": {},
@@ -43,3 +43,4 @@
4343

4444

4545

46+

0 commit comments

Comments
 (0)