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

CustomObjectIndexerAttribute

UnityEditor.Search 中的类

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

描述

允许用户为特定类型注册自定义索引函数。

当您希望为资源或 Unity 对象索引特殊属性时,Unity 建议编写自定义索引例程。新索引的单词或属性将允许用户使用搜索查询语言搜索它们。注册的函数必须是以下类型:static void MyCustomIndexer(CustomObjectIndexerTarget context, ObjectIndexer indexer);

有关您可以在indexer 上调用的各种方法,请参阅ObjectIndexer

CustomObjectIndexerTarget context 参数可用于访问有关即将索引内容的附加信息。

[CustomObjectIndexer(typeof(Material))]
internal static void MaterialShaderReferences(CustomObjectIndexerTarget context, ObjectIndexer indexer)
{
   var material = context.target as Material;
   if (material == null)
       return;

if (material.shader) { var fullShaderName = material.shader.name.ToLowerInvariant(); var shortShaderName = System.IO.Path.GetFileNameWithoutExtension(fullShaderName); indexer.AddProperty("ref", shortShaderName, context.documentIndex); indexer.AddProperty("ref", fullShaderName, context.documentIndex); } }

属性

type每次索引特定类型的对象时,都会调用注册的函数。
version自定义索引器的版本。增加此数字以使索引器重新索引索引。

构造函数

CustomObjectIndexerAttribute注册与特定类型绑定的新索引函数。