using UnityEngine; #if UNITY_EDITOR using UnityEditor; #endif namespace Lightbug.Utilities { public class ReadOnlyAttribute : PropertyAttribute { public ReadOnlyAttribute() { } } #if UNITY_EDITOR [CustomPropertyDrawer(typeof(ReadOnlyAttribute))] public class ReadOnlyAttributeEditor : PropertyDrawer { public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { GUI.enabled = false; EditorGUI.PropertyField(position, property, label, true); GUI.enabled = true; } public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { return EditorGUI.GetPropertyHeight(property); } } #endif public class ActionAttribute : PropertyAttribute { public ActionAttribute() { } } #if UNITY_EDITOR [CustomPropertyDrawer(typeof(ActionAttribute))] public class ActionAttributeEditor : PropertyDrawer { public override void OnGUI(Rect position, SerializedProperty property, GUIContent label) { GUI.enabled = false; property.isExpanded = true; EditorGUI.PropertyField(position, property, label, true); GUI.enabled = true; } public override float GetPropertyHeight(SerializedProperty property, GUIContent label) { return EditorGUI.GetPropertyHeight(property); } } #endif }