public void OnGroupViewGUI()
        {
            var newFilterString = EditorGUILayout.TextField("Filter", m_ctx.filterCondition);

            if (newFilterString != m_ctx.filterCondition)
            {
                m_ctx.filterCondition = newFilterString;
                m_filteredGroups      = ApplyFilter();
                ReloadAndSelect();
            }

            Rect groupListTreeRect   = GUILayoutUtility.GetRect(m_ctx.groupListTreeRect.width, m_ctx.groupListTreeRect.height, GUILayout.ExpandWidth(true));
            Rect groupListResizeRect = GUILayoutUtility.GetRect(100f, 4f, GUILayout.ExpandWidth(true));

            GUILayout.Space(8f);

            Rect assetListTreeRect   = GUILayoutUtility.GetRect(m_ctx.assetListTreeRect.width, m_ctx.assetListTreeRect.height, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true));
            Rect assetListResizeRect = GUILayoutUtility.GetRect(100f, 4f, GUILayout.ExpandWidth(true));

            m_groupListTree.OnGUI(groupListTreeRect);
            m_assetListTree.OnGUI(assetListTreeRect);

            HandleHorizontalResize(groupListResizeRect, ref m_ctx.groupListTreeRect, ref m_groupListResize);
            HandleHorizontalResize(assetListResizeRect, ref m_ctx.assetListTreeRect, ref m_assetListResize);

            string selectedAsset = "";

            if (m_selectedAsset != null)
            {
                selectedAsset = m_selectedAsset.path;
            }

            using (new EditorGUILayout.HorizontalScope()) {
                EditorGUILayout.HelpBox(selectedAsset, MessageType.None);
            }

#if ADDRESSABLES_1_6_OR_NEWER
            if (m_selectedAsset != null)
            {
                var aaSettings = AddressableAssetSettingsDefaultObject.GetSettings(false);
                if (aaSettings != null)
                {
                    var entry = aaSettings.FindAssetEntry(m_selectedAsset.assetDatabaseId);
                    if (entry != null)
                    {
                        GUILayout.Space(4f);
                        GUILayout.Label("Asset Address");
                        using (new EditorGUILayout.HorizontalScope()) {
                            EditorGUILayout.HelpBox(entry.address, MessageType.None);
                        }
                    }
                }
            }
#endif
        }
        public void OnGroupViewGUI()
        {
            var newFilterString = EditorGUILayout.TextField("Filter", m_ctx.filterCondition);

            if (newFilterString != m_ctx.filterCondition)
            {
                m_ctx.filterCondition = newFilterString;
                m_filteredGroups      = ApplyFilter();
                ReloadAndSelect();
            }

            Rect groupListTreeRect   = GUILayoutUtility.GetRect(m_ctx.groupListTreeRect.width, m_ctx.groupListTreeRect.height, GUILayout.ExpandWidth(true));
            Rect groupListResizeRect = GUILayoutUtility.GetRect(100f, 4f, GUILayout.ExpandWidth(true));

            GUILayout.Space(8f);

            Rect assetListTreeRect   = GUILayoutUtility.GetRect(m_ctx.assetListTreeRect.width, m_ctx.assetListTreeRect.height, GUILayout.ExpandWidth(true), GUILayout.ExpandHeight(true));
            Rect assetListResizeRect = GUILayoutUtility.GetRect(100f, 4f, GUILayout.ExpandWidth(true));

            m_groupListTree.OnGUI(groupListTreeRect);
            m_assetListTree.OnGUI(assetListTreeRect);

            HandleHorizontalResize(groupListResizeRect, ref m_ctx.groupListTreeRect, ref m_groupListResize);
            HandleHorizontalResize(assetListResizeRect, ref m_ctx.assetListTreeRect, ref m_assetListResize);

            string selectedAsset = "";

            if (m_selectedAsset != null)
            {
                selectedAsset = m_selectedAsset.path;
            }

            using (new EditorGUILayout.HorizontalScope()) {
                EditorGUILayout.HelpBox(selectedAsset, MessageType.None);
            }
        }