void AddSearchElement(VisualElement root)
        {
            m_SearchElement = AddSearchElement <SystemForSearch>(root, UssClasses.DotsEditorCommon.SearchFieldContainer);
            m_SearchElement.RegisterSearchQueryHandler <SystemForSearch>(query =>
            {
                var parseResult = SearchQueryParser.ParseSearchQuery(query);
                m_SystemTreeView.SetFilter(query, parseResult);
            });

            m_SearchElement.AddSearchFilterPopupItem(Constants.SystemSchedule.k_ComponentToken.Substring(0, 1), k_FilterComponentType, k_FilterComponentTypeTooltip);
            m_SearchElement.AddSearchFilterPopupItem(Constants.SystemSchedule.k_SystemDependencyToken.Substring(0, 2), k_FilterSystemDependencies, k_FilterSystemDependenciesTooltip);

            m_SearchElement.AddSearchDataProperty(new PropertyPath(nameof(SystemForSearch.SystemName)));
            m_SearchElement.AddSearchFilterProperty(Constants.SystemSchedule.k_ComponentToken.Substring(0, 1), new PropertyPath(nameof(SystemForSearch.ComponentNamesInQuery)));
            m_SearchElement.AddSearchFilterProperty(Constants.SystemSchedule.k_SystemDependencyToken.Substring(0, 2), new PropertyPath(nameof(SystemForSearch.SystemDependency)));
            m_SearchElement.EnableAutoComplete(ComponentTypeAutoComplete.Instance);
        }
Exemple #2
0
        void CreateToolbar()
        {
            m_Header = new VisualElement();
            Resources.Templates.EntityHierarchyToolbar.Clone(m_Header);
            var leftSide  = m_Header.Q <VisualElement>(className: UssClasses.EntityHierarchyWindow.Toolbar.LeftSide);
            var rightSide = m_Header.Q <VisualElement>(className: UssClasses.EntityHierarchyWindow.Toolbar.RightSide);

            leftSide.Add(CreateWorldSelector());

            AddSearchIcon(rightSide, UssClasses.DotsEditorCommon.SearchIcon);
            m_SearchElement = AddSearchElement <EntityHierarchyItem>(m_Header, UssClasses.DotsEditorCommon.SearchFieldContainer);
            m_SearchElement.RegisterSearchQueryHandler <EntityHierarchyItem>(query =>
            {
                var result = m_EntityHierarchyQueryBuilder.BuildQuery(query.SearchString);
                QueryDesc  = result.QueryDesc;

                m_EntityHierarchy.SetFilter(query, result);
            });
            m_SearchElement.AddSearchFilterPopupItem("c", k_FilterComponentType, k_FilterComponentTypeTooltip);
            m_SearchElement.AddSearchDataProperty(new PropertyPath(nameof(EntityHierarchyItem.m_CachedLowerCaseName)));
            m_SearchElement.EnableAutoComplete(ComponentTypeAutoComplete.Instance);

            m_Root.Add(m_Header);
        }