43 lines
732 B
GDScript
43 lines
732 B
GDScript
tool
|
|
extends HBoxContainer
|
|
|
|
signal param_changed(name, value)
|
|
signal param_reset(name)
|
|
|
|
export var label: String setget set_label
|
|
export var parameter: String
|
|
export var bipolar := false setget set_bipolar
|
|
|
|
|
|
func set_label(v: String) -> void:
|
|
label = v
|
|
$Label.text = v
|
|
|
|
|
|
func set_bipolar(v: bool) -> void:
|
|
bipolar = v
|
|
if bipolar:
|
|
$HSlider.min_value = -1.0
|
|
else:
|
|
$HSlider.min_value = 0.0
|
|
|
|
|
|
func set_value(v: float) -> void:
|
|
$HSlider.value = v
|
|
|
|
|
|
func get_value() -> float:
|
|
return $HSlider.value
|
|
|
|
|
|
func set_resetable(v: bool) -> void:
|
|
$Reset.disabled = not v
|
|
|
|
|
|
func _on_HSlider_value_changed(value: float):
|
|
emit_signal("param_changed", parameter, value)
|
|
|
|
|
|
func _on_Reset_pressed():
|
|
emit_signal("param_reset", parameter)
|
|
|