internal static SearchFilter CreateFilter(string searchString, SearchableEditorWindow.SearchMode searchMode)
        {
            SearchFilter searchFilter = new SearchFilter();
            SearchFilter result;

            if (string.IsNullOrEmpty(searchString))
            {
                result = searchFilter;
            }
            else
            {
                switch (searchMode)
                {
                case SearchableEditorWindow.SearchMode.All:
                    if (!SearchUtility.ParseSearchString(searchString, searchFilter))
                    {
                        searchFilter.nameFilter = searchString;
                        searchFilter.classNames = new string[]
                        {
                            searchString
                        };
                        searchFilter.assetLabels = new string[]
                        {
                            searchString
                        };
                        searchFilter.assetBundleNames = new string[]
                        {
                            searchString
                        };
                        searchFilter.showAllHits = true;
                    }
                    break;

                case SearchableEditorWindow.SearchMode.Name:
                    searchFilter.nameFilter = searchString;
                    break;

                case SearchableEditorWindow.SearchMode.Type:
                    searchFilter.classNames = new string[]
                    {
                        searchString
                    };
                    break;

                case SearchableEditorWindow.SearchMode.Label:
                    searchFilter.assetLabels = new string[]
                    {
                        searchString
                    };
                    break;

                case SearchableEditorWindow.SearchMode.AssetBundleName:
                    searchFilter.assetBundleNames = new string[]
                    {
                        searchString
                    };
                    break;
                }
                result = searchFilter;
            }
            return(result);
        }