using UnityEditor; namespace Module.Inspector.Editor { [CustomPropertyDrawer(typeof(DisableField))] internal sealed class DrawerDisableField : AccessModifierPropertyDrawer { public override EAccessType GetAccessType(AccessModifierPropertyAttribute attribute, SerializedProperty property, EAccessType currentAccessType) { var att = (DisableField)attribute; if (currentAccessType == EAccessType.Enabled && property.IsSiblingValue(att.fieldName, att.fieldValue, att.useFieldValue)) currentAccessType = EAccessType.ReadOnly; return currentAccessType; } } }