protected override void OnGUI(Rect position, GUIContent label)
        {
            position = BeginBlock(metadata, position, label);

            Vector2 newValue;

            if (adaptiveWidth)
            {
                newValue = LudiqGUI.AdaptiveVector2Field(position, GUIContent.none, (Vector2)metadata.value);
            }
            else if (position.width <= Styles.compactThreshold)
            {
                newValue = LudiqGUI.CompactVector2Field(position, GUIContent.none, (Vector2)metadata.value);
            }
            else
            {
                newValue = EditorGUI.Vector2Field(position, GUIContent.none, (Vector2)metadata.value);
            }

            if (EndBlock(metadata))
            {
                metadata.RecordUndo();
                metadata.value = newValue;
            }
        }
Example #2
0
        protected override void OnControlGUI(Rect position)
        {
            EditorGUI.BeginChangeCheck();

            Vector2 newValue;

            if (adaptiveWidth)
            {
                newValue = LudiqGUI.AdaptiveVector2Field(position, GUIContent.none, (Vector2)accessor.value);
            }
            else if (position.width <= Styles.compactThreshold)
            {
                newValue = LudiqGUI.CompactVector2Field(position, GUIContent.none, (Vector2)accessor.value);
            }
            else
            {
                newValue = EditorGUI.Vector2Field(position, GUIContent.none, (Vector2)accessor.value);
            }

            if (EditorGUI.EndChangeCheck())
            {
                accessor.RecordUndo();
                accessor.value = newValue;
            }
        }
        protected override void OnControlGUI(Rect position)
        {
            EditorGUI.BeginChangeCheck();

            var originPosition = new Rect
                                 (
                position.x,
                position.y,
                position.width,
                EditorGUIUtility.singleLineHeight
                                 );

            var directionPosition = new Rect
                                    (
                position.x,
                originPosition.yMax + EditorGUIUtility.standardVerticalSpacing,
                position.width,
                EditorGUIUtility.singleLineHeight
                                    );

            using (LudiqGUIUtility.labelWidth.Override(16))
            {
                originPosition    = PrefixLabel(originPosition, new GUIContent("O", "Origin"));
                directionPosition = PrefixLabel(directionPosition, new GUIContent("D", "Direction"));
            }

            Vector2 newOrigin;
            Vector2 newDirection;

            if (wideMode)
            {
                newOrigin    = EditorGUI.Vector2Field(originPosition, GUIContent.none, (Vector2)originAccessor.value);
                newDirection = EditorGUI.Vector2Field(directionPosition, GUIContent.none, (Vector2)directionAccessor.value);
            }
            else
            {
                newOrigin    = LudiqGUI.CompactVector2Field(originPosition, GUIContent.none, (Vector2)originAccessor.value);
                newDirection = LudiqGUI.CompactVector2Field(directionPosition, GUIContent.none, (Vector2)directionAccessor.value);
            }

            if (EditorGUI.EndChangeCheck())
            {
                accessor.RecordUndo();
                accessor.value = new Ray2D(newOrigin, newDirection);
            }
        }