diff options
author | Spartan322 <Megacake1234@gmail.com> | 2023-06-03 20:37:10 +0200 |
---|---|---|
committer | Spartan322 <Megacake1234@gmail.com> | 2023-06-03 20:37:10 +0200 |
commit | cef940108fe15752c3ef66f43f5169403fa2f71d (patch) | |
tree | fe4de5a05830e3bddeae78f74f729503b7cee1e9 /game/src/OptionMenu/SettingNodes | |
parent | 73e29d02e48739aba5ca5db1b9575c67e795400f (diff) |
Reorganize the file structure of the files in `game/src`
Diffstat (limited to 'game/src/OptionMenu/SettingNodes')
-rw-r--r-- | game/src/OptionMenu/SettingNodes/SettingHSlider.gd | 41 | ||||
-rw-r--r-- | game/src/OptionMenu/SettingNodes/SettingOptionButton.gd | 77 | ||||
-rw-r--r-- | game/src/OptionMenu/SettingNodes/SettingRevertButton.gd | 27 |
3 files changed, 0 insertions, 145 deletions
diff --git a/game/src/OptionMenu/SettingNodes/SettingHSlider.gd b/game/src/OptionMenu/SettingNodes/SettingHSlider.gd deleted file mode 100644 index 6fa30ed..0000000 --- a/game/src/OptionMenu/SettingNodes/SettingHSlider.gd +++ /dev/null @@ -1,41 +0,0 @@ -extends HSlider -class_name SettingHSlider - -@export -var section_name : String = "setting" - -@export -var setting_name : String = "setting_hslider" - -@export -var default_value : float = 0 - -func _ready(): - Events.Options.load_settings.connect(load_setting) - Events.Options.save_settings.connect(save_setting) - Events.Options.reset_settings.connect(reset_setting) - -func load_setting(file : ConfigFile): - if file == null: return - var load_value = file.get_value(section_name, setting_name, default_value) - match typeof(load_value): - TYPE_FLOAT, TYPE_INT: - if value == load_value: value_changed.emit(value) - value = load_value - return - TYPE_STRING, TYPE_STRING_NAME: - var load_string := load_value as String - if load_string.is_valid_float(): - load_value = load_string.to_float() - if value == load_value: value_changed.emit(value) - value = load_value - return - push_error("Setting value '%s' invalid for setting [%s] \"%s\"" % [load_value, section_name, setting_name]) - value = default_value - -func save_setting(file : ConfigFile): - if file == null: return - file.set_value(section_name, setting_name, value) - -func reset_setting(): - value = default_value diff --git a/game/src/OptionMenu/SettingNodes/SettingOptionButton.gd b/game/src/OptionMenu/SettingNodes/SettingOptionButton.gd deleted file mode 100644 index c5a805e..0000000 --- a/game/src/OptionMenu/SettingNodes/SettingOptionButton.gd +++ /dev/null @@ -1,77 +0,0 @@ -extends OptionButton -class_name SettingOptionButton - -signal option_selected(index : int, by_user : bool) - -@export -var section_name : String = "setting" - -@export -var setting_name : String = "setting_optionbutton" - -@export -var default_selected : int = -1: - get: return default_selected - set(v): - if v < 0 or item_count == 0: - default_selected = -1 - return - default_selected = v % item_count - -func _valid_index(index : int) -> bool: - return 0 <= index and index < item_count - -func _get_value_for_file(select_value : int): - if _valid_index(select_value): - return select_value - else: - return null - -func _set_value_from_file(load_value) -> void: - match typeof(load_value): - TYPE_INT: - if _valid_index(load_value): - selected = load_value - return - TYPE_STRING, TYPE_STRING_NAME: - var load_string := load_value as String - if load_string.is_valid_int(): - var load_int := load_string.to_int() - if _valid_index(load_int): - selected = load_int - return - for item_index in item_count: - if load_string == get_item_text(item_index): - selected = item_index - return - push_error("Setting value '%s' invalid for setting [%s] \"%s\"" % [load_value, section_name, setting_name]) - selected = default_selected - -func _setup_button() -> void: - pass - -func _ready(): - Events.Options.load_settings.connect(load_setting) - Events.Options.save_settings.connect(save_setting) - Events.Options.reset_settings.connect(reset_setting) - item_selected.connect(func(index : int): option_selected.emit(index, true)) - _setup_button() - if not _valid_index(default_selected) or selected == -1: - var msg := "Failed to generate %s %s options." % [setting_name, section_name] - push_error(msg) - OS.alert(msg, "%s Options Error" % section_name) - get_tree().quit() - -func load_setting(file : ConfigFile) -> void: - if file == null: return - _set_value_from_file(file.get_value(section_name, setting_name, _get_value_for_file(default_selected))) - option_selected.emit(selected, false) - -func save_setting(file : ConfigFile) -> void: - if file == null: return - file.set_value(section_name, setting_name, _get_value_for_file(selected)) - -func reset_setting(no_emit : bool = false) -> void: - selected = default_selected - if not no_emit: - option_selected.emit(selected, false) diff --git a/game/src/OptionMenu/SettingNodes/SettingRevertButton.gd b/game/src/OptionMenu/SettingNodes/SettingRevertButton.gd deleted file mode 100644 index 945d35b..0000000 --- a/game/src/OptionMenu/SettingNodes/SettingRevertButton.gd +++ /dev/null @@ -1,27 +0,0 @@ -extends SettingOptionButton -class_name SettingRevertButton - -@export_group("Nodes") -@export var revert_dialog : ResolutionRevertDialog - -var previous_index : int = -1 - -func _ready(): - super() - if revert_dialog != null: - revert_dialog.visibility_changed.connect(_on_revert_dialog_visibility_changed) - revert_dialog.dialog_accepted.connect(_on_accepted) - revert_dialog.dialog_reverted.connect(_on_reverted) - -func _on_revert_dialog_visibility_changed() -> void: - disabled = revert_dialog.visible - if not revert_dialog.visible: - previous_index = -1 - -func _on_reverted(button : SettingRevertButton) -> void: - if button != self: return - selected = previous_index - option_selected.emit(selected, false) - -func _on_accepted(button : SettingRevertButton) -> void: - if button != self: return |