ProjectSearch
класс в UnityEditor.SearchService
Описание
Используйте это API для выполнения поиска в Project. Двигатели для этого типа поиска реализуют IProjectSearchEngine interface.
Зарегистрированные поисковые системы Project вызываются во время поиска в браузере Project. При использовании селекторов объектов по умолчанию они также вызываются для поиска ассетов.
В следующем примере создается поисковая система Project:
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<string> Search(ISearchContext context, string query, Action<IEnumerable<string>> 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 | Перечисление, указывающее область поиска для движков ProjectSearch. Используется в ProjectSearchContext. |
Статические методы
| Метод | Описание |
|---|---|
| RegisterEngine | Динамически регистрирует поисковую систему Project. |
| UnregisterEngine | Отмена регистрации динамически зарегистрированного движка. |