Unity 6.3
0 онлайн 18 гостей 3 в системе
Вход

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 } }