版本:Unity 6(6000.0)
语言中文(简体)
  • C#

SearchIndexer.SaveBytes

建议更改

成功!

感谢你帮助我们提高 Unity 文档质量。虽然我们无法接受所有的提交,但我们会仔细阅读每个用户的建议更改,并在合适的地方进行更新。

关闭

提交失败

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

关闭

取消

声明

public byte[] SaveBytes();

返回

byte[]索引的字节表示。

描述

获取此索引的字节表示。SearchIndexer.Write 参见 。

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

static class Example_SearchIndexer_LoadBytes
{
    const string tempIndexPath = "Temp/LoadBytes.db";

    [MenuItem("Examples/SearchIndexer/LoadBytes")]
    public static void Run()
    {
        var si = new SearchIndexer();
        si.Start();
        var di = si.AddDocument("document 1");
        si.AddNumber("test", 2, 0, di);
        si.Finish(() =>
        {
            File.WriteAllBytes(tempIndexPath, si.SaveBytes());
            ReloadIndex();
        });
    }

    private static void ReloadIndex()
    {
        var indexBytes = File.ReadAllBytes(tempIndexPath);
        var si = new SearchIndexer();

        // Load the search index from a binary stream.
        si.LoadBytes(indexBytes, (success) =>
        {
            Debug.Assert(success);
            Debug.Log($"Index loaded from {indexBytes} bytes");
        });
    }
}