diff --git a/orx-jvm/orx-gui/src/main/kotlin/Gui.kt b/orx-jvm/orx-gui/src/main/kotlin/Gui.kt index b5cba0ff..b58724e7 100644 --- a/orx-jvm/orx-gui/src/main/kotlin/Gui.kt +++ b/orx-jvm/orx-gui/src/main/kotlin/Gui.kt @@ -693,10 +693,12 @@ class GUI(val baseColor:ColorRGBa = ColorRGBa.GRAY, val defaultStyles: List? = null, var textValue: String? = null, - var optionValue: String? = null - + var optionValue: String? = null, + var minValue: Double? = null, + var maxValue: Double? = null ) + /** * Can be called by the user to obtain an object to be serialized * externally. This allows the user to combine custom data with gui @@ -712,17 +714,43 @@ class GUI(val baseColor:ColorRGBa = ColorRGBa.GRAY, val defaultStyles: List ParameterValue(doubleValue = k.property.qget(lo.obj) as Double) - ParameterType.Int -> ParameterValue(intValue = k.property.qget(lo.obj) as Int) + ParameterType.Double -> ParameterValue( + doubleValue = k.property.qget(lo.obj) as Double, + minValue = k.doubleRange?.start, + maxValue = k.doubleRange?.endInclusive + ) + + ParameterType.Int -> ParameterValue( + intValue = k.property.qget(lo.obj) as Int, + minValue = k.intRange?.start?.toDouble(), + maxValue = k.intRange?.endInclusive?.toDouble() + ) ParameterType.Action -> ParameterValue() ParameterType.Color -> ParameterValue(colorValue = k.property.qget(lo.obj) as ColorRGBa) ParameterType.Text -> ParameterValue(textValue = k.property.qget(lo.obj) as String) ParameterType.Boolean -> ParameterValue(booleanValue = k.property.qget(lo.obj) as Boolean) ParameterType.XY -> ParameterValue(vector2Value = k.property.qget(lo.obj) as Vector2) - ParameterType.DoubleList -> ParameterValue(doubleListValue = k.property.qget(lo.obj) as MutableList) - ParameterType.Vector2 -> ParameterValue(vector2Value = k.property.qget(lo.obj) as Vector2) - ParameterType.Vector3 -> ParameterValue(vector3Value = k.property.qget(lo.obj) as Vector3) - ParameterType.Vector4 -> ParameterValue(vector4Value = k.property.qget(lo.obj) as Vector4) + ParameterType.DoubleList -> ParameterValue(doubleListValue = k.property.qget( + lo.obj) as MutableList, + minValue = k.doubleRange?.start, + maxValue = k.doubleRange?.endInclusive + ) + + ParameterType.Vector2 -> ParameterValue( + vector2Value = k.property.qget(lo.obj) as Vector2, + minValue = k.doubleRange?.start, + maxValue = k.doubleRange?.endInclusive + ) + ParameterType.Vector3 -> ParameterValue( + vector3Value = k.property.qget(lo.obj) as Vector3, + minValue = k.doubleRange?.start, + maxValue = k.doubleRange?.endInclusive + ) + ParameterType.Vector4 -> ParameterValue( + vector4Value = k.property.qget(lo.obj) as Vector4, + minValue = k.doubleRange?.start, + maxValue = k.doubleRange?.endInclusive + ) ParameterType.Option -> ParameterValue(optionValue = (k.property.qget(lo.obj) as Enum<*>).name) }) })