Unity 6.3
0 онлайн 29 гостей 3 в системе
Вход

SearchService.ShowPicker

Declaration

public static Search.ISearchView ShowPicker(Search.SearchContext context, Action<SearchItem,bool> selectHandler, Action<SearchItem> trackingHandler, Func<SearchItem,bool> filterHandler, IEnumerable<SearchItem> subset, string title, float itemSize, float defaultWidth, float defaultHeight, Search.SearchFlags flags);

Параметры

Параметр Описание
контекст Контекст поиска для начала.
selectHandler Обратный вызов, вызываемый при выборе элемента.
trackingHandler Обратный вызов вызван при нажатии на элемент, не являющийся окончательным выбором.
filterHandler Обратный вызов вызван для фильтрации результатов поиска элементов для отображения.
название Тема для поиска.
itemSize Первоначальный размер элемента представления результатов.
defaultWidth Начальная ширина окна.
defaultHeight Начальная высота окна.
подмножество Начальный набор элементов для поиска.
флаги Параметры, определяющие, как выполняется запрос.

Возвращаемое значение

ISearchView Создает новое окно поиска.

Описание

Открыть окно выбора элемента поиска.

Declaration

public static Search.ISearchView ShowPicker(Search.SearchViewState viewState);

Параметры

Параметр Описание
viewState Состояние представления поиска, используемое для открытия окна выбора через поиск.

Возвращаемое значение

ISearchView Создает новое окно поиска.

Описание

Открыть окно выбора поиска.

В этом примере показано, как открыть пользовательский поиск для выбора материала для наклейки.

using UnityEditor;
using UnityEditor.Search;
using UnityEngine;
using UnityEngine.Search;

static class Example_SearchService_ShowPicker
{
    [MenuItem("Examples/SearchService/ShowPicker")]
    public static void Run()
    {
        var context = SearchService.CreateContext("asset", "t:material");
        var viewState = new SearchViewState(context,
            SearchViewFlags.GridView |
            SearchViewFlags.OpenInBuilderMode |
            SearchViewFlags.DisableSavedSearchQuery)
        {
            windowTitle = new GUIContent("Material Selector"),
            title = "Material",
            selectHandler = SelectHandler,
            trackingHandler = TrackingHandler,
            position = SearchUtils.GetMainWindowCenteredPosition(new Vector2(600, 400))
        };
        SearchService.ShowPicker(viewState);
    }

    static void SelectHandler(SearchItem searchItem, bool canceled)
    {
        Debug.Log($"Selected {searchItem} (canceled: {canceled})");
    }

    static void TrackingHandler(SearchItem searchItem)
    {
        Debug.Log($"Tracking {searchItem}");
    }
}