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