diff --git a/Assets/NaughtyAttributes/Scripts/Core/MetaAttributes/ReadOnlyAttribute.cs b/Assets/NaughtyAttributes/Scripts/Core/MetaAttributes/ReadOnlyAttribute.cs index affbff45..c788cc1a 100644 --- a/Assets/NaughtyAttributes/Scripts/Core/MetaAttributes/ReadOnlyAttribute.cs +++ b/Assets/NaughtyAttributes/Scripts/Core/MetaAttributes/ReadOnlyAttribute.cs @@ -5,6 +5,13 @@ namespace NaughtyAttributes [AttributeUsage(AttributeTargets.Field, AllowMultiple = false, Inherited = true)] public class ReadOnlyAttribute : MetaAttribute { + public bool IsEditableInEditMode; + public ReadOnlyAttribute(){} + + public ReadOnlyAttribute(bool isEditableInEditMode) + { + IsEditableInEditMode = isEditableInEditMode; + } } } diff --git a/Assets/NaughtyAttributes/Scripts/Editor/Utility/PropertyUtility.cs b/Assets/NaughtyAttributes/Scripts/Editor/Utility/PropertyUtility.cs index 2336eb66..bf6c2773 100644 --- a/Assets/NaughtyAttributes/Scripts/Editor/Utility/PropertyUtility.cs +++ b/Assets/NaughtyAttributes/Scripts/Editor/Utility/PropertyUtility.cs @@ -73,6 +73,8 @@ public static bool IsEnabled(SerializedProperty property) ReadOnlyAttribute readOnlyAttribute = GetAttribute(property); if (readOnlyAttribute != null) { + if (readOnlyAttribute.IsEditableInEditMode && !Application.isPlaying) true; + return false; }