private static IEnumerator SearchIndexes(SearchContext context, SearchProvider provider, AssetIndexer adbIndex) { var searchQuery = context.searchQuery; // Search index while (!adbIndex.IsReady()) { yield return(null); } yield return(adbIndex.Search(searchQuery.ToLowerInvariant()).Select(e => { var itemScore = e.score; var words = context.searchPhrase; var filenameNoExt = Path.GetFileNameWithoutExtension(e.id); if (filenameNoExt.Equals(words, StringComparison.OrdinalIgnoreCase)) { itemScore = SearchProvider.k_RecentUserScore - 1; } var filename = Path.GetFileName(e.id); string description = adbIndex.GetDebugIndexStrings(e.id); return provider.CreateItem(e.id, itemScore, filename, description, null, null); })); }
static ADBIndex() { s_GlobalIndexer = new AssetIndexer(); Debug.Assert(!s_GlobalIndexer.IsReady()); }