aboutsummaryrefslogtreecommitdiff
path: root/client/menu/settings/settings_category.gd
diff options
context:
space:
mode:
authormetamuffin <metamuffin@noreply.codeberg.org>2024-09-07 13:37:23 +0000
committermetamuffin <metamuffin@noreply.codeberg.org>2024-09-07 13:37:23 +0000
commit091f8ff9acf04cedf14765e9db5540c876fd7375 (patch)
tree4c115d6cb14df5d68bc72785f1020ed4ad2fb8e2 /client/menu/settings/settings_category.gd
parentaf108805c8fd87a9d20a8df02072f224d2cd3417 (diff)
parent3ef379fb07df126ea09cb112801a0bef371f8811 (diff)
downloadhurrycurry-091f8ff9acf04cedf14765e9db5540c876fd7375.tar
hurrycurry-091f8ff9acf04cedf14765e9db5540c876fd7375.tar.bz2
hurrycurry-091f8ff9acf04cedf14765e9db5540c876fd7375.tar.zst
Merge pull request 'Refactor settings system and localization' (#123) from new-settings into master
Reviewed-on: https://codeberg.org/hurrycurry/hurrycurry/pulls/123
Diffstat (limited to 'client/menu/settings/settings_category.gd')
-rw-r--r--client/menu/settings/settings_category.gd35
1 files changed, 26 insertions, 9 deletions
diff --git a/client/menu/settings/settings_category.gd b/client/menu/settings/settings_category.gd
index c4601429..b5d02d8f 100644
--- a/client/menu/settings/settings_category.gd
+++ b/client/menu/settings/settings_category.gd
@@ -14,15 +14,32 @@
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
class_name SettingsCategory
-extends Object
+extends GameSetting
-var name: String
-var id: String
-var settings: Dictionary # Dictionary[String, GameSetting]
-var presets # Array[Preset] | null
+var settings: Array # Dictionary[String, GameSetting]
-func _init(new_name: String, new_id: String, new_settings: Dictionary, new_presets = null):
- name = new_name
- id = new_id
+var options: VBoxContainer
+
+func _init(new_id: String, new_settings: Array):
+ super(new_id)
settings = new_settings
- presets = new_presets
+
+func set_parent(parent: GameSetting):
+ super(parent)
+ for c in settings:
+ c.set_parent(self)
+
+func create_row():
+ var row = ScrollContainerCustom.new()
+ var options = VBoxContainer.new()
+ row.name = tr(nskey)
+ row.size_flags_horizontal = Control.SIZE_EXPAND_FILL
+ options.size_flags_horizontal = Control.SIZE_EXPAND_FILL
+ row.add_child(options)
+
+ for r in settings: options.add_child(r.create_row())
+ return row
+
+func check():
+ for c in settings:
+ c.check()