【问题标题】:Extending UnityEngine.UI.Image and add extra field available in Inspector扩展 UnityEngine.UI.Image 并在 Inspector 中添加额外的可用字段
【发布时间】:2017-03-10 11:46:00
【问题描述】:

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

public class MyImage : Image {
   public string Comment;
}

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

PS 它触发了 Extending Unity UI components with custom Inspector 的重复,但它不是重复的。我不问任何关于custom Inspector 的事情。这只是default Inspector 的常规字段。问题是该字段根本没有出现在检查器中。

【问题讨论】:

标签: unity3d unity5 unity3d-gui unity3d-editor


【解决方案1】:

不幸的是,Inspector GUI 不能自动从基类继承。你需要自己写,就像Extending Unity UI components with custom Inspector中描述的一样。

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

结果:

【讨论】:

    猜你喜欢
    • 2021-08-25
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    相关资源
    最近更新 更多