Unity 自定义编辑器根据枚举值显示变量

public class Test : MonoBehaviour
{
    [HideInInspector]
    [Header("数量")]
    [SerializeField]
    public int num;

    [Header("分布类型")]
    [SerializeField]
    public DistributionType distType;

    [HideInInspector]
    [Header("位置")]
    [SerializeField]
    public List<Vector3> positions;

      [Header("test")]
  [SerializeField]
  List<testType> test;
}


[Serializable]
public class testType
{
    public int id;
    public string name;
}


public enum DistributionType
{
    None,
    test1,
    test2,
    test3,
}
[CustomEditor(typeof(Test))]
public class TestEditor : Editor {

    public SerializedObject obj;

    public SerializedProperty distType;
    public SerializedProperty positions;
    public SerializedProperty num;
    public SerializedProperty test;

    void OnEnable()
    {
        obj = new SerializedObject(target);
        distType = obj.FindProperty("distType");
        num = obj.FindProperty("num");
        positions = obj.FindProperty("positions");

        test = obj.FindProperty("test");
    }

    public override void OnInspectorGUI()
    {
        //base.OnInspectorGUI();
        obj.Update();
        if (distType.enumValueIndex == 0)
        {
            EditorGUILayout.PropertyField(positions, true);
        }
        else
        {
            EditorGUILayout.PropertyField(num);
        }
        EditorGUILayout.PropertyField(test,true);
        obj.ApplyModifiedProperties();

    }
}

 

在数据类中(文中是Test类)数组类的字段在开启基类的base.OnInspectorGUI();不能用[HideInInspector],否则会无法显示数组内容。

参考链接:

Unity 自定义inspector界面如何显示数组_360问答 (so.com)

Unity根据条件控制Inspector面板中的属性显示_unity inspect 条件控制-CSDN博客

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 22:08:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 22:08:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 22:08:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 22:08:04       18 阅读

热门阅读

  1. iOS swift5 加载网络图片的第三方框架

    2024-06-06 22:08:04       8 阅读
  2. C++ 智能指针

    2024-06-06 22:08:04       10 阅读
  3. Docker命令大全

    2024-06-06 22:08:04       10 阅读