Documentation

Unity Engine


User Manual

Script Reference

Unity Engine


isExplicitProvider

This search provider is only active when specified explicitly using the filterId.
Read time 1 minuteLast updated 13 days ago

Definition

public bool isExplicitProvider

Examples

using System.Collections.Generic;using UnityEditor;using UnityEditor.Search;using UnityEngine;static class SearchProvider_isExplicitProvider{ internal static string type = "example_uppercase_isExplicitProvider"; internal static string displayName = "example_UpperCase_isExplicitProvider"; [SearchItemProvider] internal static SearchProvider CreateProvider() { return new SearchProvider(type, displayName) { filterId = "+", priority = 99999, // put example provider at a low priority isExplicitProvider = true, fetchItems = (context, items, provider) => FetchItems(context, provider) }; } static IEnumerable<SearchItem> FetchItems(SearchContext context, SearchProvider provider) { var expression = context.searchQuery; expression += " -> " + expression.ToUpper(); yield return provider.CreateItem(context, context.searchQuery.ToUpper(), context.searchQuery.ToUpper(), expression, null, null); } [MenuItem("Examples/SearchProvider/isExplicitProvider")] public static void Run() { SearchService.SetActive(type); using (var context = SearchService.CreateContext("")) { // For the context of this example, we set the flag synchronous so we can get the results right away. context.options |= SearchFlags.Synchronous; // If we don't specify the filterId for an explicit provider, there will be no results. context.searchText = "uppercase String"; var results = SearchService.Request(context); Debug.Log(results.Count); // 0; // Use the filterId for an explicit provider context.searchText = "+uppercase String"; results = SearchService.Request(context); // There should be only one result with that specific description Debug.Log(results.Count); // 1; Debug.Log(results[0].description); // "uppercase String -> UPPERCASE STRING"; } }}