Net.Like.Xue.Tokyo/Assets/Plugins/Character Controller Pro/Utilities/Scripts/BreakVector2AttributeEditor.cs

39 lines
1.1 KiB
C#

#if UNITY_EDITOR
using UnityEditor;
using UnityEngine;
namespace Lightbug.Utilities
{
[CustomPropertyDrawer(typeof(BreakVector2Attribute))]
public class BreakVector2AttributeEditor : PropertyDrawer
{
public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
{
EditorGUI.BeginProperty(position, label, property);
Rect fieldRect = position;
fieldRect.height = EditorGUIUtility.singleLineHeight;
var at = attribute as BreakVector2Attribute;
EditorGUI.BeginChangeCheck();
float x = EditorGUI.FloatField(fieldRect, at.XLabel, property.vector2Value.x);
fieldRect.y += fieldRect.height + 2f;
float y = EditorGUI.FloatField(fieldRect, at.YLabel, property.vector2Value.y);
property.vector2Value = new Vector2(x, y);
EditorGUI.EndProperty();
}
public override float GetPropertyHeight(SerializedProperty property, GUIContent label)
{
return 2f * (EditorGUIUtility.singleLineHeight + 2f);
}
}
}
#endif