diff options
Diffstat (limited to 'client/menu/settings_row.gd')
| -rw-r--r-- | client/menu/settings_row.gd | 22 | 
1 files changed, 20 insertions, 2 deletions
| diff --git a/client/menu/settings_row.gd b/client/menu/settings_row.gd index 30b1fd67..d57bbee0 100644 --- a/client/menu/settings_row.gd +++ b/client/menu/settings_row.gd @@ -6,14 +6,16 @@ signal apply_preset  @onready var value_parent = $HBoxContainer/BoxContainer  @onready var label = $HBoxContainer/Label +var setting +var default  var value_node  var description = tr("no value was given to the row")  func setup(key: String, dict: Dictionary, defaults: Dictionary): -	var setting = dict[key] +	setting = dict[key]  	description = setting["description"]  	var value = setting["value"] -	var default = defaults[key]["value"] +	default = defaults[key]["value"]  	match setting["type"]:  		"toggle":  			value_node = CheckButton.new() @@ -71,3 +73,19 @@ func get_value():  			return null  	else:  		return null + +func _on_reset_pressed(): +	match setting["type"]: +		"toggle": +			value_node.button_pressed = default +		"line": +			value_node.text = default +		"dropdown": +			value_node.select(default) +		"dropdown_preset": +			value_node.select(default) +			value_node.emit_signal("item_selected", value_node.selected) +		"range": +			value_node.value = default +		_: +			push_error("Could not reset setting: Unknown setting type \"%s\"" % setting["type"]) | 
