AssetPostprocessorStaticVariableIgnoreAttribute
класс в UnityEditor
Описание
Позволяет пометить статические переменные в классах AssetPostprocessor и ScriptedImporter, которые следует игнорировать системе предупреждений о статических переменных в окне Import Activity.
Этот атрибут введён для пометки статических переменных в PostProcessor и ScriptedImporter, чтобы не выдавать предупреждения об их использовании. Хотя статические переменные в таких классах могут приводить к неочевидным ошибкам при выполнении на разных Asset Import Worker (у каждого свой домен Mono, отдельный от основного редактора), этот атрибут добавлен, чтобы уменьшить шум в сложно исправимых ситуациях со статическими переменными в подобных классах.
Примечание: предупреждения о статических переменных доступны через кнопку «Analyze Import Process» в окне Import Activity.
Статические переменные в классах AssetPostprocessor и ScriptedImporter могут приводить к неожиданному поведению, поскольку их значения не разделяются между доменами основного редактора и Asset Import Worker. Если вы измените статическую переменную в основном редакторе и будете ждать, что значение отразится в рабочем процессе с его собственным доменом, оно не обновится — и поведение окажется неожиданным.
using UnityEditor;
public class PostProcessorWithStaticVariable : AssetPostprocessor {
// Increment the version number, when the AssetPostprocessors code/behavior is changed static readonly uint k_Version = 0; public override uint GetVersion() { return k_Version; }
[AssetPostprocessorStaticVariableIgnore] public static bool enabled = false;
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths, bool didDomainReload) { if(enabled == false) return;
//do something else } }