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

SearchIndexer.GetMetaInfo

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

声明

public string GetMetaInfo(string documentId);

参数

documentId 文档的文档 id。

返回

string 文档的元数据。

描述

获取特定文档的元数据。

using System.IO;
using UnityEditor;
using UnityEditor.Search;
using UnityEngine;

/// <summary>
/// Use GetMetaInfo to store some additional data about a specific document within the index db
/// that you can retrieve later if needed.
/// </summary>
static class Example_SearchIndexer_GetMetaInfo
{
    [MenuItem("Examples/SearchIndexer/GetMetaInfo")]
    public static void Run()
    {
        var si = new SearchIndexer();
        si.Start();
        var newDocumentId = System.Guid.NewGuid().ToString("N");
        var di = si.AddDocument(newDocumentId);
        si.SetMetaInfo(newDocumentId, "Please save this data for later");
        si.Finish((bytes) =>
        {
            File.WriteAllBytes("Temp/index.db", bytes);
            EditorApplication.delayCall += ReloadIndex;
        }, null);
    }

    private static void ReloadIndex()
    {
        var si = new SearchIndexer();
        si.LoadBytes(File.ReadAllBytes("Temp/index.db"), (success) =>
        {
            Debug.Assert(success);
            Debug.Assert(si.GetMetaInfo(si.GetDocument(0).id) == "Please save this data for later");
        });
    }
}