Version: 2023.2

SearchItem

class in UnityEditor.Search

切换到手册

描述

Search items are returned by the search provider to show to the user after a search is performed. The search item holds all the data that is used to sort and present the search results. Some members of a SearchItem can be specified in an asynchronous callback (see SearchItem.fetchThumbnail, SearchItem.fetchDescription, etc).

SearchItems are generally created using the SearchProvider.CreateItem function. This example shows how to create a SearchItem with all the members.

[SearchItemProvider]
internal static SearchProvider CreateProvider()
{
    return new SearchProvider(id, name)
    {
        filterId = "hex:",
        priority = 99999, // put example provider at a low priority
        showDetailsOptions = ShowDetailsOptions.Description | ShowDetailsOptions.Preview,
        fetchItems = (context, items, provider) =>
        {
            var expression = context.searchQuery;
            if (expression.Length == 6 && IsHex(expression))
            {
                expression = "#" + expression;
                items.Add(provider.CreateItem(context, expression, GetColorName(expression),
                    "Look at this " + GetColorName(expression) + " color!",
                    CreateTextureFromColor(expression, 64, 64), null));
            }
            return null;
        },
        fetchPreview = (item, context, size, options) =>
        {
            return CreateTextureFromColor(item.id, (int)size.x, (int)size.y);
        },
    };
}

静态变量

clearA search item representing none, usually used to clear the selection.

变量

contextContext used to create that item.
dataSearch provider defined content. It can be used to transport any data to custom search provider handlers (i.e. `fetchDescription`).
descriptionIf no description is provided, SearchProvider.fetchDescription will be called when the item is first displayed.
idUnique ID of the search item for the search provider.
labelDisplay name of the search item.
optionsFlags that dictate how the search item is displayed and used.
previewLarge preview of the search item. Usually cached by fetchPreview.
providerBack pointer to the search provider.
scoreThe item relevance score will affect how the item gets sorted by the search provider. Lower scored items have more relevance and are prioritzed.
this[string]Operator used to get an item field value.
thumbnailIf no thumbnail is provided, SearchProvider.fetchThumbnail is called when the item is first displayed.
valueValue set by the search expression system when selecting fields.

构造函数

SearchItemConstruct a search item. A search item needs to have at least a unique ID for a given search query.

公共函数

CompareToCheck if two SearchItems have the same ID.
EqualsCheck if two SearchItems have the same ID.
GetDescriptionFetch and format description.
GetFieldCountReturns the amount of field stored in the search item.
GetFieldNamesReturns a list of all field names.
GetFieldsEnumerate all search items fields.
GetHashCodeDefault Hash of a SearchItem.
GetLabelFetch and format label.
GetPreviewGets the search item preview if available, otherwise the preview is fetched at this time.
GetThumbnailGets the search item thumbnail if available, otherwise the thumbnail is fetched at this time. The thumbnail is usually used in list view compared to the grid view.
GetValueGet the default search item value of a given field.
RemoveFieldRemoves an item field.
SetFieldSets a field value and alias.
ToObjectReturns any valid Unity Object held by the search item.
TryGetFieldReturns an item field if available.
TryGetValueReturns' a field's value if any. Compared to SearchItem.TryGetField this method also resolved built-in field such as id, label, description, value, etc.