Unity 设置Inspector面板属性只读

using UnityEditor;
using UnityEngine;

public class test : MonoBehaviour {
    [DisplayOnly]
    public int a = 5;
    public int b = 10;
    void Start()
    {

    }

}
public class DisplayOnly:PropertyAttribute
{

}
[CustomPropertyDrawer(typeof(DisplayOnly))]
public class ReadOnlyDrawer : PropertyDrawer
{
    public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
    {
        return EditorGUI.GetPropertyHeight(property, label, true);
    }
    public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
    {
        GUI.enabled = false;
        EditorGUI.PropertyField(position, property, label, true);
        GUI.enabled = true;
    }
}

你可能感兴趣的:(编辑器扩展,Unity,Unity编辑器扩展)