我正在尝试像这样扩展UnityEngine.UI.Image
public class MyImage : Image {
public string Comment;
}
但我在检查器中没有看到额外的文本字段Comment
。是否可以添加检查器中可用的额外字段?
PS 它因 Extending Unity UI components with custom Inspector 重复而触发但这不是骗人的。我不会询问任何有关自定义检查器
的问题。它只是带有默认检查器
的常规字段。问题是该字段根本没有出现在检查器中。
最佳答案
不幸的是,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);
}
}
关于unity-game-engine - 扩展 UnityEngine.UI.Image 并添加 Inspector 中可用的额外字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42717649/