From b933decc4ecb1d933da48e19c300f75e4385b1ea Mon Sep 17 00:00:00 2001 From: Xevion Date: Sat, 16 May 2020 23:04:23 -0500 Subject: [PATCH] add ReadOnly attribute script --- Assets/Util.cs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/Assets/Util.cs b/Assets/Util.cs index 312a991..93d9a8e 100644 --- a/Assets/Util.cs +++ b/Assets/Util.cs @@ -1,4 +1,5 @@ -using UnityEngine; +using UnityEditor; +using UnityEngine; public class Util { public static Vector2 RotateBy(Vector2 v, float a) { @@ -8,4 +9,23 @@ public class Util { return new Vector2((float) rx, (float) (v.x * sa + v.y * ca)); } + + public class ReadOnlyAttribute : PropertyAttribute { + } + + [CustomPropertyDrawer(typeof(ReadOnlyAttribute))] + 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; + } + } } \ No newline at end of file