2

我正在尝试这样UnityEngine.UI.Image扩展

public class MyImage : Image {
   public string Comment;
}

但我Comment在检查器中看不到额外的文本字段。是否可以添加检查员中可用的额外字段?

PS它触发重复使用自定义检查器扩展 Unity UI 组件,但它不是重复的。我什么都不问custom Inspector。它只是带有default Inspector. 问题是该字段根本没有出现在检查器中。

4

1 回答 1

5

不幸的是,Inspector GUI 不能自动从基类继承。您需要自己编写,就像使用自定义 Inspector 扩展 Unity UI 组件中描述的一样。

MyImage.cs

using UnityEngine;
using UnityEngine.UI;

[ExecuteInEditMode]
public class MyImage : Image
{
    public string Comment;
}

MyImageEditor.cs

using UnityEditor;
using UnityEngine;

[CustomEditor(typeof(MyImage))]
public class MyImageEditor : UnityEditor.UI.ImageEditor
{
    public override void OnInspectorGUI()
    {
        base.OnInspectorGUI();//Draw inspector UI of ImageEditor

        MyImage image = (MyImage)target;
        image.Comment = EditorGUILayout.TextField("Comment", image.Comment);
    }
}

结果: MyImage 的检查器 GUI

于 2017-03-10T13:35:06.150 回答