diff options
Diffstat (limited to 'client/gui/menus/settings')
-rw-r--r-- | client/gui/menus/settings/dropdown_setting.gd | 2 | ||||
-rw-r--r-- | client/gui/menus/settings/game_setting.gd | 20 | ||||
-rw-r--r-- | client/gui/menus/settings/input/input_manager.gd | 6 | ||||
-rw-r--r-- | client/gui/menus/settings/input/input_setting.gd | 7 | ||||
-rw-r--r-- | client/gui/menus/settings/number_setting.gd | 6 | ||||
-rw-r--r-- | client/gui/menus/settings/preset_row.gd | 5 | ||||
-rw-r--r-- | client/gui/menus/settings/range_setting.gd | 2 | ||||
-rw-r--r-- | client/gui/menus/settings/settings.gd | 4 | ||||
-rw-r--r-- | client/gui/menus/settings/settings_category.gd | 12 | ||||
-rw-r--r-- | client/gui/menus/settings/settings_root.gd | 12 | ||||
-rw-r--r-- | client/gui/menus/settings/text_setting.gd | 2 | ||||
-rw-r--r-- | client/gui/menus/settings/toggle_setting.gd | 2 |
12 files changed, 37 insertions, 43 deletions
diff --git a/client/gui/menus/settings/dropdown_setting.gd b/client/gui/menus/settings/dropdown_setting.gd index 514df666..69ae29b6 100644 --- a/client/gui/menus/settings/dropdown_setting.gd +++ b/client/gui/menus/settings/dropdown_setting.gd @@ -32,5 +32,5 @@ func create_row(): if is_instance_valid(row): row.value_node.select(options.find(value)) ) - row.value_node.item_selected.connect(func(item): Global.set_setting(key, options[item])) + row.value_node.item_selected.connect(func(item): Settings.write(key, options[item])) return row diff --git a/client/gui/menus/settings/game_setting.gd b/client/gui/menus/settings/game_setting.gd index 1c04ad3b..1dfee59e 100644 --- a/client/gui/menus/settings/game_setting.gd +++ b/client/gui/menus/settings/game_setting.gd @@ -31,16 +31,16 @@ func set_parent(parent: GameSetting): func create_row(): var row = preload("res://gui/menus/settings/settings_row.tscn").instantiate() row.description = tr(nskey) - row.reset.connect(func(): Global.set_setting(key, default)) + row.reset.connect(func(): Settings.write(key, default)) return row -func check(): - if default != null: - if not key in Global.settings: - Global.set_setting_unchecked(key, default) - if typeof(default) != typeof(Global.settings[key]): - Global.set_setting_unchecked(key, default) +func load(d: Dictionary): + if d.has(key) && typeof(d[key]) == typeof(default): + Settings.write_unchecked(key, d[key]) + elif default != null: + Settings.write_unchecked(key, default) -func changed_keys(): - if Global.get_setting(key) != default: return [key] - else: return [] +func save(d: Dictionary): + var value = Settings.read(key) + if value == default: return + d[key] = value diff --git a/client/gui/menus/settings/input/input_manager.gd b/client/gui/menus/settings/input/input_manager.gd index e3158a03..7fe814ff 100644 --- a/client/gui/menus/settings/input/input_manager.gd +++ b/client/gui/menus/settings/input/input_manager.gd @@ -62,7 +62,7 @@ func change_input_map_action(action_name: String, events: Array, save: bool = tr # Update input map dictionary input_map = get_input_map() # Save settings - Global.set_setting("input_map", input_map.duplicate(true)) + Settings.write("input_map", input_map.duplicate(true)) func apply_input_map(new_input_map: Dictionary): # Load into input map dictionary @@ -76,8 +76,8 @@ func apply_input_map(new_input_map: Dictionary): change_input_map_action(k, input_map[k], false) func reset_input_map(): - Global.set_setting("input_map", default_input_map.duplicate()) - apply_input_map(Global.get_setting("input_map")) + Settings.write("input_map", default_input_map.duplicate()) + apply_input_map(Settings.read("input_map")) func get_event_type(input_event: InputEvent) -> EventType: if input_event is InputEventKey or input_event is InputEventMouseButton: diff --git a/client/gui/menus/settings/input/input_setting.gd b/client/gui/menus/settings/input/input_setting.gd index fa903771..5617b26a 100644 --- a/client/gui/menus/settings/input/input_setting.gd +++ b/client/gui/menus/settings/input/input_setting.gd @@ -30,10 +30,7 @@ func create_row(): if is_instance_valid(row): row.value_node.value = value ) - row.value_node.changed.connect(func(): Global.set_setting(key, row.value_node.value)) + row.value_node.changed.connect(func(): Settings.write(key, row.value_node.value)) return row -func changed_keys(): - return [key] - # if Global.array_eq(Global.get_setting(key), default): return [key] - # else: return [] +func save(_d: Dictionary): pass # TODO diff --git a/client/gui/menus/settings/number_setting.gd b/client/gui/menus/settings/number_setting.gd index 5fa5a115..f729913c 100644 --- a/client/gui/menus/settings/number_setting.gd +++ b/client/gui/menus/settings/number_setting.gd @@ -31,7 +31,7 @@ func create_row(): input.min_value = min_value input.max_value = max_value - input.value_changed.connect(func(value): Global.set_setting(key, value as int)) + input.value_changed.connect(func(value): Settings.write(key, value as int)) Settings.hook_changed_init(key, true, func(v): if is_instance_valid(input): @@ -39,3 +39,7 @@ func create_row(): ) row.value_node = input return row + +func load(d: Dictionary): + if d.has(key): d[key] = int(d[key]) + super(d) diff --git a/client/gui/menus/settings/preset_row.gd b/client/gui/menus/settings/preset_row.gd index f3c46a26..9e7c97a2 100644 --- a/client/gui/menus/settings/preset_row.gd +++ b/client/gui/menus/settings/preset_row.gd @@ -31,7 +31,7 @@ func set_parent(parent): func apply(preset_name: String): var preset = options[preset_name] for i in preset.keys(): - Global.set_setting(prefix + "." + i, preset[i]) + Settings.write(prefix + "." + i, preset[i]) func create_row(): var row = super() @@ -43,4 +43,5 @@ func create_row(): row.value_node.add_child(button) return row -func changed_keys(): return [] +func load(_d: Dictionary): pass +func save(_d: Dictionary): pass diff --git a/client/gui/menus/settings/range_setting.gd b/client/gui/menus/settings/range_setting.gd index b8d392a4..a487c6b4 100644 --- a/client/gui/menus/settings/range_setting.gd +++ b/client/gui/menus/settings/range_setting.gd @@ -40,5 +40,5 @@ func create_row(): if is_instance_valid(row): row.value_node.value = value ) - row.value_node.value_changed.connect(func(value): Global.set_setting(key, value)) + row.value_node.value_changed.connect(func(value): Settings.write(key, value)) return row diff --git a/client/gui/menus/settings/settings.gd b/client/gui/menus/settings/settings.gd index 32da54cc..7523b9fb 100644 --- a/client/gui/menus/settings/settings.gd +++ b/client/gui/menus/settings/settings.gd @@ -20,7 +20,7 @@ extends Menu func _ready(): super() - var row = Global.settings_tree.create_row() + var row = Settings.tree.create_row() container.add_child(row) container.move_child(row, 1) @@ -36,5 +36,5 @@ func _on_back_pressed(): exit() func exit(): - Global.save_settings() + Settings.save() super() diff --git a/client/gui/menus/settings/settings_category.gd b/client/gui/menus/settings/settings_category.gd index bf85abd9..3cc3704f 100644 --- a/client/gui/menus/settings/settings_category.gd +++ b/client/gui/menus/settings/settings_category.gd @@ -38,12 +38,8 @@ func create_row(): for r in settings: options.add_child(r.create_row()) return row -func check(): - for c in settings: - c.check() +func load(d: Dictionary): + for c in settings: c.load(d) -func changed_keys(): - var changed = [] - for c in settings: - changed.append_array(c.changed_keys()) - return changed +func save(d: Dictionary): + for c in settings: c.save(d) diff --git a/client/gui/menus/settings/settings_root.gd b/client/gui/menus/settings/settings_root.gd index a9a024d8..3f7fc027 100644 --- a/client/gui/menus/settings/settings_root.gd +++ b/client/gui/menus/settings/settings_root.gd @@ -29,12 +29,8 @@ func create_row(): for r in children: row.add_child(r.create_row()) return row -func check(): - for c in children: - c.check() +func load(d: Dictionary): + for c in children: c.load(d) -func changed_keys(): - var changed = [] - for c in children: - changed.append_array(c.changed_keys()) - return changed +func save(d: Dictionary): + for c in children: c.save(d) diff --git a/client/gui/menus/settings/text_setting.gd b/client/gui/menus/settings/text_setting.gd index 8e2b6bec..83e68539 100644 --- a/client/gui/menus/settings/text_setting.gd +++ b/client/gui/menus/settings/text_setting.gd @@ -26,7 +26,7 @@ func create_row(): var row = super() var input := LineEdit.new() input.placeholder_text = placeholder - input.text_changed.connect(func(text): Global.set_setting(key, text)) + input.text_changed.connect(func(text): Settings.write(key, text)) Settings.hook_changed_init(key, true, func(text): if is_instance_valid(input): diff --git a/client/gui/menus/settings/toggle_setting.gd b/client/gui/menus/settings/toggle_setting.gd index abcb7f4a..dcf7dbd7 100644 --- a/client/gui/menus/settings/toggle_setting.gd +++ b/client/gui/menus/settings/toggle_setting.gd @@ -22,7 +22,7 @@ func _init(new_id: String, new_default: bool): func create_row(): var row = super() row.value_node = CheckButton.new() - row.value_node.pressed.connect(func(): Global.set_setting(key, row.value_node.button_pressed)) + row.value_node.pressed.connect(func(): Settings.write(key, row.value_node.button_pressed)) Settings.hook_changed_init(key, true, func(value): if is_instance_valid(row): |