34 lines
764 B
GDScript
34 lines
764 B
GDScript
class_name FloatParam extends ParamField
|
|
|
|
|
|
@onready var label: Label = $Labels/Label
|
|
@onready var value_label: Label = $Labels/ValueLabel
|
|
@onready var h_slider: HSlider = $HSlider
|
|
|
|
var decimal_places: int
|
|
|
|
func setup(
|
|
dict: Dictionary,
|
|
key: String,
|
|
decimal_places: int = 2,
|
|
min: float = 0.0,
|
|
max: float = 1) -> void:
|
|
name = key
|
|
_d = dict
|
|
_k = key
|
|
label.text = key.capitalize()
|
|
decimal_places = decimal_places
|
|
|
|
h_slider.min_value = min
|
|
h_slider.max_value = max
|
|
h_slider.step = 1.0 / pow(10, decimal_places)
|
|
h_slider.value = dict[key]
|
|
value_label.text = str(h_slider.value)
|
|
|
|
h_slider.value_changed.connect(_on_h_slider_value_changed)
|
|
|
|
|
|
func _on_h_slider_value_changed(value: float) -> void:
|
|
value_label.text = str(value)
|
|
_d[_k] = value
|