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); }