上代码
using UnityEditor; using UnityEngine; /// <summary> /// Inspactor只读属性 /// </summary> 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; } }
使用添加 [DisplayOnly]就行