在Unity3D检查器中显示类的成员

时间:2016-11-16 13:27:56

标签: c# unity3d unity5

我需要在对象检查器中编辑此结构,就像在屏幕截图上一样: Structure

修改

我的主要对象附有一个脚本。它有一个名为TestData的成员,它本身有另外两个成员I和F.

当我点击我的主对象时,如何启用Unity Inspector来编辑TestData的成员(I,F)而不是对TestData的引用?

1 个答案:

答案 0 :(得分:3)

在Unity中创建一个脚本并将其附加到GameObject。该脚本必须来自MonoBehaviour

您可以将公共变量添加到脚本中,并在检查器中查看它们。

C#:

public Vector3 StartPoint;

您可以在课程中添加[System.Serializable]

[System.Serializable]
public class TestData
{
     public int I;
     public int F;
}

或者,如果您希望检查器显示默认编辑器面板以外的其他内容,则可以为您的类型定义CustomPropertyDrawer。

[CustomPropertyDrawer(typeof(MyScript))]
public class MyScriptDrawer : PropertyDrawer
{
    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {

        //...
        EditorGUI.BeginProperty(position, label, property);
        EditorGUI.LabelField(new Rect(x, y, w, h), "title");
        EditorGUI.PropertyField(rect, I, GUIContent.none);
        //...
    }
}