Описание
Используйте этот API для выполнения поиска в проекте. Механизмы для этого типа поиска реализуют интерфейс IProjectSearchEngine.
Зарегистрированные механизмы Project вызываются во время поиска в браузере Project. Когда используется селектор объектов по умолчанию, они также вызываются для поиска активов.
The following example creates a Project engine:
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEditor.SearchService;
using UnityEngine;
using Object = UnityEngine.Object;
[ProjectSearchEngine]
class TestProjectSearchEngine : IProjectSearchEngine
{
public string name => "My Custom Engine";
public void BeginSession(ISearchContext context)
{
}
public void EndSession(ISearchContext context)
{
}
public void BeginSearch(ISearchContext context, string query)
{
}
public void EndSearch(ISearchContext context)
{
}
public IEnumerable Search(ISearchContext context, string query, Action> asyncItemsReceived)
{
var allPaths = AssetDatabase.GetAllAssetPaths();
var filteredPaths = allPaths.Where(path => !path.StartsWith("Library")).Where(path => path.IndexOf(query, StringComparison.InvariantCultureIgnoreCase) >= 0).ToList();
return filteredPaths;
}
}
Смотрите так же: ProjectSearchEngineAttribute, IProjectSearchEngine.
Статические Свойства
EngineScope | Перечисление, указывающее область поиска для механизмов Project. Он используется ProjectSearchContext. |
Статические Методы
RegisterEngine | Динамически регистрирует поисковую систему проекта. |
UnregisterEngine | Отменяет регистрацию динамически зарегистрированного ядра. |