Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 扩展UnityEngine.UI.Image并添加Inspector中可用的额外字段_Unity3d_Unity5_Unity3d Gui_Unity3d Editor - Fatal编程技术网

Unity3d 扩展UnityEngine.UI.Image并添加Inspector中可用的额外字段

Unity3d 扩展UnityEngine.UI.Image并添加Inspector中可用的额外字段,unity3d,unity5,unity3d-gui,unity3d-editor,Unity3d,Unity5,Unity3d Gui,Unity3d Editor,我正试图像这样扩展UnityEngine.UI.Image public class MyImage : Image { public string Comment; } 但我在inspector中没有看到额外的文本字段注释。是否可以添加inspector中可用的额外字段 PS它被触发为重复,但不是重复。我没有问任何关于定制检查员的问题。它只是带有默认检查器的常规字段。问题是字段根本没有出现在inspector中。不幸的是,inspector GUI无法自动从基类继承。你需要自己写,就像

我正试图像这样扩展
UnityEngine.UI.Image

public class MyImage : Image {
   public string Comment;
}
但我在inspector中没有看到额外的文本字段
注释
。是否可以添加inspector中可用的额外字段


PS它被触发为重复,但不是重复。我没有问任何关于
定制检查员的问题。它只是带有
默认检查器的常规字段
。问题是字段根本没有出现在inspector中。

不幸的是,inspector GUI无法自动从基类继承。你需要自己写,就像中描述的那样

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);
    }
}
结果:

可能存在的副本