void DrawDataOwnership(MARSDatabase db) { using (var scope = new EditorGUILayout.ScrollViewScope(m_DataOwnershipScrollPosition)) { EditorGUILayout.Space(); EditorGUIUtils.DrawDictionaryWithHeader(db.DataUsedByQueries, "Used By Proxies", "Query ID", "Data IDs", m_OwnershipKeyColumnWidth, m_OwnershipValueColumnWidth, CollectionExtensions.Stringify); EditorGUILayout.Space(); EditorGUIUtils.DrawBoxSplitter(); EditorGUIUtils.DrawDictionaryWithHeader(db.DataUsedByQueryMatches, "Used By Each Proxy Match", "Query Match ID", "Data ID", m_OwnershipKeyColumnWidth, m_OwnershipValueColumnWidth); EditorGUILayout.Space(); EditorGUIUtils.DrawDictionaryWithHeader(db.SetDataUsedByQueryMatches, "Used By Each ProxyGroup Match", "Query Match ID", "Data IDs", m_OwnershipKeyColumnWidth, m_OwnershipValueColumnWidth, CollectionExtensions.Stringify); EditorGUILayout.Space(); EditorGUIUtils.DrawBoxSplitter(); EditorGUIUtils.DrawDictionaryWithHeader(db.ReservedData, "Reserved Data", "Data ID", "Reserved By Query", m_OwnershipKeyColumnWidth, m_OwnershipValueColumnWidth); EditorGUILayout.Space(); EditorGUIUtils.DrawBoxSplitter(); EditorGUIUtils.DrawDictionaryWithHeader(db.SharedDataUsersCounter, "Shared Data", "Data ID", "# of Users", m_OwnershipKeyColumnWidth, m_OwnershipValueColumnWidth); EditorGUILayout.Space(); EditorGUIUtils.DrawBoxSplitter(); m_DataOwnershipScrollPosition = scope.scrollPosition; } }