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

AssetPostprocessorStaticVariableIgnoreAttribute

UnityEditor 中的类

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

描述

允许您装饰 AssetPostprocessor 和 ScriptedImporter 类中的静态变量,这些变量应被导入活动窗口中的静态变量警告系统忽略。

此属性旨在装饰 PostProcessors 和 ScripttedImporters 中的静态变量,以防止有关静态变量使用的警告。尽管这些类中的静态变量在不同的资产导入工作程序上运行时会导致微妙的错误,因为每个工作程序都有自己的与主编辑器分开的 Mono 域,但此属性旨在减少在涉及上述类中静态变量的某些难以修复的情况下可能产生的噪声。

注意:静态变量警告可以通过导入活动窗口中的“分析导入过程”按钮访问。

AssetPostprocessor 或 ScriptedImporter 类中的静态变量可能会导致意外行为,因为它们的值在主编辑器和资产导入工作程序中的不同域之间不共享。当您在主编辑器中修改静态变量并期望该值反映在工作程序的自身域中时,该值不会更新,这可能会导致意外行为。

using UnityEditor;

public class PostProcessorWithStaticVariable : AssetPostprocessor { [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 } }