要添加新的搜索提供程序,请创建一个函数并使用 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
。例如,Asset、Menu 或 Scene场景包含游戏环境和菜单。将每个独特的场景文件视为独特的关卡。在每个场景中,您放置环境、障碍物和装饰,本质上是在片段中设计和构建您的游戏。 更多信息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");
}
您可以使用 快捷方式管理器 将快捷方式映射到键或键组合。