Files
trail-into-darkness/Packages/com.jovian.inspector-tools/Editor/Attributes/LayerAttribute.cs
2026-04-02 07:22:33 +02:00

41 lines
982 B
C#

using UnityEngine;
namespace Jovian.InspectorTools
{
public class LayerAttribute : PropertyAttribute
{
}
}
#if UNITY_EDITOR
namespace Jovian.InspectorTools.Internal
{
using UnityEditor;
[CustomPropertyDrawer(typeof(LayerAttribute))]
public class LayerAttributeDrawer : PropertyDrawer
{
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
if (property.propertyType != SerializedPropertyType.Integer)
{
if (!_checked) Warning(property);
EditorGUI.PropertyField(position, property, label);
return;
}
property.intValue = EditorGUI.LayerField(position, label, property.intValue);
}
private bool _checked;
private void Warning(SerializedProperty property)
{
Debug.LogWarning(string.Format("Property <color=brown>{0}</color> in object <color=brown>{1}</color> is of wrong type. Expected: Int",
property.name, property.serializedObject.targetObject));
_checked = true;
}
}
}
#endif