Описание
Используйте этот API для поиска в сцене. Механизмы для этого типа поиска реализуют интерфейс ISceneSearchEngine.
Зарегистрированные механизмы сцен вызываются во время поиска в иерархии сцен. Когда используется селектор объектов по умолчанию, они также вызываются для поиска GameObject.
В следующем примере создается механизм сцены:
using System;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEditor.SearchService;
using UnityEngine;
using Object = UnityEngine.Object;
[SceneSearchEngine]
class TestSceneFilterEngine : ISceneSearchEngine
{
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 bool Filter(ISearchContext context, string query, HierarchyProperty objectToFilter)
{
var instanceId = objectToFilter.instanceID;
var obj = Object.FindObjectsOfType<GameObject>().FirstOrDefault(o => o.GetInstanceID() == instanceId);
return obj != null && obj.name.IndexOf(query, StringComparison.InvariantCultureIgnoreCase) >= 0;
}
}
Смотрите так же: SceneSearchEngineAttribute, ISceneSearchEngine.
Статические Свойства
EngineScope | Перечисление, указывающее область поиска для механизмов сцены. Он используется SceneSearchContext. |
Статические Методы
RegisterEngine | Динамически регистрирует поисковую систему сцены. |
UnregisterEngine | Отменяет регистрацию динамически зарегистрированного ядра. |