using UnityEditor; using UnityEngine.UIElements; using UnityEditor.UIElements; namespace Unity.Cinemachine.Editor { [CustomPropertyDrawer(typeof(Vector2AsRangeAttribute))] partial class Vector2AsRangePropertyDrawer : PropertyDrawer { public override VisualElement CreatePropertyGUI(SerializedProperty property) { var xProp = property.FindPropertyRelative("x"); var yProp = property.FindPropertyRelative("y"); var ux = new InspectorUtility.LeftRightRow(); var label = new Label(property.displayName) { tooltip = property.tooltip, style = { alignSelf = Align.Center, flexGrow = 1 }}; var minField = new PropertyField(xProp, "") { style = { flexBasis = 0, flexGrow = 1}}; var maxField = new InspectorUtility.CompactPropertyField(yProp, "...") { tooltip = property.tooltip, style = { flexBasis = 10, flexGrow = 1, marginLeft = 5 }}; //ux.OnInitialGeometry(() => //{ // minField.SafeSetIsDelayed(); // maxField.SafeSetIsDelayed(); //}); label.AddPropertyDragger(xProp, minField); ux.Left.Add(label); ux.Right.Add(minField); ux.Right.Add(maxField); return ux; } } }