/// <summary> Draw GUI if boolean is false </summary>
 public override void DrawFalseGUI(SerializedProperty property)
 {
     ExtraEditorUtility.TakeSpace();
     ExtraEditorUtility.AddPropertyStack(property.FindPropertyRelative("minimum"), new GUIContent("Min"));
     ExtraEditorUtility.AddPropertyStack(property.FindPropertyRelative("maximum"), new GUIContent("Max"));
     ExtraEditorUtility.DrawPropertyStack(30);
 }
        /// <summary> Draw GUI if boolean is false </summary>
        public override void DrawFalseGUI(SerializedProperty property)
        {
            float labelWidth = EditorGUIUtility.labelWidth;

            if (ShowValues())
            {
                ExtraEditorUtility.TakeSpace();
                ExtraEditorUtility.AddPropertyStack(property.FindPropertyRelative("value"), new GUIContent("V", "Current value, which moves to match target value."));
                ExtraEditorUtility.AddPropertyStack(property.FindPropertyRelative("valueTarget"), new GUIContent("T", "Target value to which value is moved to match."));
                ExtraEditorUtility.DrawPropertyStack(16);
            }

            EditorGUIUtility.labelWidth = labelWidth;

            if (property.isExpanded)
            {
                // Next line
                EditorGUI.indentLevel++;
                Rect usePosition = new Rect(ExtraEditorUtility.totalPosition);

                usePosition.y     += EditorGUIUtility.singleLineHeight;
                usePosition.height = EditorGUIUtility.singleLineHeight;

                EditorGUI.PropertyField(usePosition, property.FindPropertyRelative("speed"), new GUIContent("Speed"));
                EditorGUI.indentLevel--;
            }
        }
        /// <summary> Called when it needs to draw on the GUI  </summary>
        public override void OnGUI(Rect position, SerializedProperty property, GUIContent label)
        {
            ExtraEditorUtility.BeginProperty(position, label, property);

            ExtraEditorUtility.TakeSpace(32);
            SerializedProperty enumProp = property.FindPropertyRelative("mode");

            ExtraEditorUtility.DrawSettingsEnumDropdown(ExtraEditorUtility.contentPosition, enumProp);

            ExtraEditorUtility.TakeSpace();
            if (enumProp.enumValueIndex == 1 || enumProp.enumValueIndex == 0)
            {
                ExtraEditorUtility.AddPropertyStack(property.FindPropertyRelative("lerpSpeed"), new GUIContent("L", "Speed to lerp values with."));
            }
            if (enumProp.enumValueIndex == 2 || enumProp.enumValueIndex == 0)
            {
                ExtraEditorUtility.AddPropertyStack(property.FindPropertyRelative("moveSpeed"), new GUIContent("M", "Speed to move values with."));
            }
            ExtraEditorUtility.DrawPropertyStack(16);

            ExtraEditorUtility.EndProperty();
        }