using RPGCoreCommon.Helpers.PropertyAttributeDrawers; using UnityEditor; using UnityEditor.UIElements; using UnityEngine.UIElements; namespace RPGCoreCommon.Helpers.Editor.PropertyAttributeDrawers { [CustomPropertyDrawer(typeof(LayerAttribute))] public class LayerDrawer : PropertyDrawer { public override VisualElement CreatePropertyGUI(SerializedProperty property) { if (property.boxedValue is not int) return new Label($"Field '{property.displayName}' is not INTEGER. {nameof(LayerAttribute)} can be used only on INTEGER field."); var layerField = new LayerField(property.displayName); layerField.BindProperty(property); return layerField; } } }