Diffstat (limited to 'ui/scripts/settings.gd')
-rw-r--r--ui/scripts/settings.gd52
1 files changed, 52 insertions, 0 deletions
diff --git a/ui/scripts/settings.gd b/ui/scripts/settings.gd
new file mode 100644
index 0000000..952024e
--- /dev/null
+++ b/ui/scripts/settings.gd
@@ -0,0 +1,52 @@
+extends Control
+
+signal back
+
+
+func called():
+ self.show()
+ yield(get_tree().create_timer(.3), "timeout")
+ $ColorRect/VBoxContainer/Back.grab_focus()
+
+
+func _on_Back_gui_input(event):
+ if event.is_action("ui_accept"):
+ emit_signal("back")
+
+
+func controls():
+ $"../pause2".hide()
+ $"../pause1".hide()
+
+
+func uncontrols():
+ $"../pause2".show()
+ $"../pause1".show()
+
+
+signal apply_button_pressed(settings)
+
+var _settings := {resolution = Vector2(1280, 720), fullscreen = false, vsync = false}
+
+
+func _on_UIResolutionSelector_resolution_changed(new_resolution: Vector2) -> void:
+ _settings.resolution = new_resolution
+ emit_signal("apply_button_pressed", _settings)
+
+
+func _on_UIFullscreenCheckbox_toggled(is_button_pressed: bool) -> void:
+ _settings.fullscreen = is_button_pressed
+ emit_signal("apply_button_pressed", _settings)
+
+
+func _on_UIVsyncCheckbox_toggled(is_button_pressed: bool) -> void:
+ _settings.vsync = is_button_pressed
+ emit_signal("apply_button_pressed", _settings)
+
+
+func _on_InputMenu_controls():
+ controls()
+
+
+func _on_InputMenu_uncontrolled():
+ uncontrols()