Unity Editor - DrawDefaultInspector不起作用

Ras*_*mus 9 c# unity-game-engine unity3d-editor

我正在尝试编写一个简单的编辑器扩展,仅用于学习目的.此扩展只会检查目标是否为JSON文件,然后计算其键或执行其他任意任务.

这是默认情况下检查器的外观. 这是默认情况下检查器的外观

然后我开始编写自定义检查器,就​​像这样.

[CustomEditor(typeof(TextAsset))]
public class TestInspector : Editor
{
    public override void OnInspectorGUI()
    {
        DrawDefaultInspector();
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意对DrawDefaultInspector()的调用.

现在检查员看起来像这样.

现在检查员看起来像这样.

为什么不绘制默认检查器?我能理解我的扩展基本上什么都不做,对吧?

Tha*_* Yu 2

我认为问题是 TextAsset 没有使用普通的编辑器类作为检查器。许多 Unity 内置类使用非公开的特殊内置编辑器类

您可以尝试更改[CustomEditor(typeof(TextAsset))][CustomEditor(typeof(Transform))][CustomEditor(typeof(Animator))]查看变换和动画师的“真实默认检查器”与普通的不同

所以如果你想制作任何自定义编辑器。不关心默认检查员。只需从头开始制作即可。祝你好运