允许用户为特定类型注册自定义索引函数。
当您希望为资源或 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); } }
CustomObjectIndexerAttribute | 注册与特定类型绑定的新索引函数。 |