版本:Unity 6(6000.0)
语言英语
  • C#

SearchSelection.GetEnumerator

提出修改建议

成功!

感谢您帮助我们提高 Unity 文档的质量。尽管我们无法接受所有提交内容,但我们确实会阅读用户提出的每条修改建议,并会在适用情况下进行更新。

关闭

提交失败

由于某种原因,您的修改建议无法提交。请在几分钟后<a>重试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public IEnumerator<SearchItem> GetEnumerator();

返回

IEnumerator<SearchItem> 当前选定 SearchItem 上的枚举器。

描述

获取当前选定 SearchItem 上的枚举器。

using UnityEngine;
using UnityEditor;
using UnityEditor.Search;

static class Example_SearchSelection_GetEnumerator
{
    static ISearchView s_View;

    [MenuItem("Examples/SearchSelection/GetEnumerator")]
    public static void Run()
    {
        s_View = SearchService.ShowContextual("asset");
        s_View.SetSearchText("t:MonoScript");

        EditorApplication.delayCall += DisplayResultsWhenReady;
    }

    public static void DisplayResultsWhenReady()
    {
        // Wait until results are ready to process.
        if (s_View.results.pending || s_View.results.Count == 0)
        {
            EditorApplication.delayCall += DisplayResultsWhenReady;
            return;
        }

        s_View.AddSelection(0);
        s_View.AddSelection(2);
        s_View.AddSelection(4);

        // Use Enumerator pattern to iterate over selected items
        var selection = s_View.selection;
        foreach (var item in selection)
        {
            Debug.Log(item.GetLabel(s_View.context));
        }
    }
}