CustomObjectIndexerAttribute
класс в UnityEditor.Search
Description
Позволяет пользователю зарегистрировать собственную функцию индексирования для конкретного типа.
Если у ассета или объекта Unity есть особые свойства, которые вы хотите проиндексировать, Unity рекомендует написать собственную процедуру индексирования. Новые проиндексированные слова или свойства позволят пользователю искать по ним с помощью Search Query Language. Регистрируемая функция должна иметь тип: static void MyCustomIndexer(CustomObjectIndexerTarget context, ObjectIndexer indexer);
See ObjectIndexer сведения о разных методах, которые можно вызывать у indexer.
The 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); } }
Properties
| Property | Description |
|---|---|
| type | Каждый раз, когда индексируется объект конкретного типа, вызывается зарегистрированная функция. |
| version | Версия пользовательского индексатора. Увеличьте это число, чтобы индексатор перестроил индексы. |
Constructors
| Constructor | Description |
|---|---|
| CustomObjectIndexerAttribute | Регистрирует новую функцию индексирования, привязанную к конкретному типу. |