版本:Unity 6 (6000.0)
语言 : 英语
SearchProvider 类
执行搜索

注册搜索提供程序

要添加新的搜索提供程序,请创建一个函数并使用 SearchItemProvider 属性标记它,如下例所示

[SearchItemProvider]
internal static SearchProvider CreateProvider()
{
    return new SearchProvider(type, displayName)
    {
        filterId = "me:",
        fetchItems = (context, items, provider) =>
        {
            var itemNames = new List<string>();
            var shortcuts = new List<string>();
            GetMenuInfo(itemNames, shortcuts);

            items.AddRange(itemNames.Where(menuName =>
                    SearchProvider.MatchSearchGroups(context.searchText, menuName))
                .Select(menuName => provider.CreateItem(menuName,
                                            Path.GetFileName(menuName), menuName)));
        },

        fetchThumbnail = (item, context) => Icons.shortcut
    };
}
  • 该函数必须返回一个新的 SearchProvider 实例。
  • SearchProvider 实例必须具有以下内容
  • 唯一的 type。例如,AssetMenuScene场景包含游戏环境和菜单。将每个独特的场景文件视为独特的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是在片段中设计和构建您的游戏。 更多信息
    查看 术语表
  • 筛选器窗格 中使用的 displayName
  • 可选的 filterId 提供用于 基于文本的筛选 的搜索标记。例如,p:资产搜索 的筛选器 ID。

注册搜索提供程序快捷方式

要为新提供程序注册快捷方式,请使用

[UsedImplicitly, Shortcut("Help/Quick Search/Assets")]
private static void PopQuickSearch()
{
    // Open Search with only the "Asset" provider enabled.
    SearchService.ShowContextual("asset");
}

您可以使用 快捷方式管理器 将快捷方式映射到键或键组合。

SearchProvider 类
执行搜索