diff options
Diffstat (limited to 'client/menu/settings')
| -rw-r--r-- | client/menu/settings/game_setting.gd | 4 | ||||
| -rw-r--r-- | client/menu/settings/input/input_setting.gd | 3 | ||||
| -rw-r--r-- | client/menu/settings/preset_row.gd | 2 | ||||
| -rw-r--r-- | client/menu/settings/settings_category.gd | 6 | ||||
| -rw-r--r-- | client/menu/settings/settings_root.gd | 6 | 
5 files changed, 21 insertions, 0 deletions
diff --git a/client/menu/settings/game_setting.gd b/client/menu/settings/game_setting.gd index a98d5abb..1698a963 100644 --- a/client/menu/settings/game_setting.gd +++ b/client/menu/settings/game_setting.gd @@ -40,3 +40,7 @@ func check():  			Global.set_setting_unchecked(key, default)  		if typeof(default) != typeof(Global.settings[key]):  			Global.set_setting_unchecked(key, default) + +func changed_keys(): +	if Global.get_setting(key) != default: return [key] +	else: return [] diff --git a/client/menu/settings/input/input_setting.gd b/client/menu/settings/input/input_setting.gd index 7388af78..0ea83955 100644 --- a/client/menu/settings/input/input_setting.gd +++ b/client/menu/settings/input/input_setting.gd @@ -25,3 +25,6 @@ func create_row():  	Settings.hook_changed_init(key, true, func(value): row.value_node.value = value)  	row.value_node.changed.connect(func(): Global.set_setting(key, row.value_node.value))  	return row + +func changed_keys(): +	return [key] # TODO only if changed diff --git a/client/menu/settings/preset_row.gd b/client/menu/settings/preset_row.gd index af6cfe0e..7bf617e7 100644 --- a/client/menu/settings/preset_row.gd +++ b/client/menu/settings/preset_row.gd @@ -43,3 +43,5 @@ func create_row():  		button.text = tr(nskey + "." + i)  		row.value_node.add_child(button)  	return row + +func changed_keys(): return [] diff --git a/client/menu/settings/settings_category.gd b/client/menu/settings/settings_category.gd index 9a7a57c2..ec6d58e7 100644 --- a/client/menu/settings/settings_category.gd +++ b/client/menu/settings/settings_category.gd @@ -41,3 +41,9 @@ func create_row():  func check():  	for c in settings:  		c.check() + +func changed_keys(): +	var changed = [] +	for c in settings: +		changed.append_array(c.changed_keys()) +	return changed diff --git a/client/menu/settings/settings_root.gd b/client/menu/settings/settings_root.gd index 1beb0d9b..30b688f0 100644 --- a/client/menu/settings/settings_root.gd +++ b/client/menu/settings/settings_root.gd @@ -32,3 +32,9 @@ func create_row():  func check():  	for c in children:  		c.check() + +func changed_keys(): +	var changed = [] +	for c in children: +		changed.append_array(c.changed_keys()) +	return changed  |