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 设置Inspector面板属性只读
最新推荐文章于 2023-02-20 09:18:01 发布