ISearchList.Fetch
Declaration
public IEnumerable<SearchItem> Fetch();Возвращаемое значение
IEnumerable<SearchItem> Список элементов поиска. Элементы могут быть нулевыми и должны быть отброшены.
Описание
Возвращает элементы поиска до завершения поискового запроса.
Отмененные элементы могут быть возвращены, пока запрос поиска находится в ожидании.
[MenuItem("Examples/SearchService/Request List")] public static void RequestList() { ISearchList results = SearchService.Request("*.cs"); // It is important to note that when you request some search results, // that you need to enumerate them asynchronously using the returned search list. AsyncResultEnumerator.Fetch(results, item => Debug.Log(item)); } class AsyncResultEnumerator { private Action<SearchItem> m_OnEnumerate; private IEnumerator<SearchItem> m_Iterator; public static AsyncResultEnumerator Fetch(ISearchList results, Action<SearchItem> onEnumerate) { return new AsyncResultEnumerator(results, onEnumerate); } public AsyncResultEnumerator(ISearchList results, Action<SearchItem> onEnumerate) { m_OnEnumerate = onEnumerate; m_Iterator = results.GetEnumerator(); EditorApplication.update += EnumerateResults; } private void EnumerateResults() { if (m_Iterator == null || !m_Iterator.MoveNext()) { m_Iterator = null; EditorApplication.update -= EnumerateResults; } else if (m_Iterator.Current != null) m_OnEnumerate(m_Iterator.Current); } }