sokoban
Diffstat (limited to 'Settings.gd')
| -rw-r--r-- | Settings.gd | 122 |
1 files changed, 0 insertions, 122 deletions
diff --git a/Settings.gd b/Settings.gd deleted file mode 100644 index d9119ef..0000000 --- a/Settings.gd +++ /dev/null @@ -1,122 +0,0 @@ -extends Control - -var _settings := { - resolution = Vector2(1280, 720), fullscreen = true, vsync = true, stopwatch = false -} -var starting = true - -export(NodePath) onready var vsyncbutton = get_node(vsyncbutton) -export(NodePath) onready var fullscreenbutton = get_node(fullscreenbutton) -export(NodePath) onready var resolution_input = get_node(resolution_input) -export(NodePath) onready var stopwatchbox = get_node(stopwatchbox) - - -func _ready(): - var data = SaveLoad.files.settings.data - _settings.stopwatch = data.stopwatch - _settings.resolution = data.resolution - _settings.vsync = data.vsync - _settings.fullscreen = data.fullscreen - update_settings(false) - - -func start(): - starting = false - yield(get_tree().create_timer(.3), "timeout") - $ColorRect/ExitButton.grab_focus() - show() - - -func update_settings_visual(): - fullscreenbutton.pressed = _settings.fullscreen - vsyncbutton.pressed = _settings.vsync - var resolution_text_placeholder = ( - str(_settings.resolution.x) - + "x" - + str(_settings.resolution.y) - ) - resolution_input.placeholder_text = resolution_text_placeholder - stopwatchbox.pressed = _settings.stopwatch - - -func _on_VscynButton_toggled(button_pressed): - if starting: - return - _settings.vsync = button_pressed - update_settings() - - -func _on_FullscreenButton_toggled(button_pressed): - if starting: - return - _settings.fullscreen = button_pressed - update_settings() - - -func update_settings(open := true) -> void: - if not open: - _settings.vsync = OS.vsync_enabled - _settings.fullscreen = OS.window_fullscreen - _settings.resolution = OS.window_size - var data = SaveLoad.files.settings.data - _settings = data - apply_settings() - update_settings_visual() - if open: - MainInstances.console.Log("Settings applied.", .1, 1) - $ColorRect/VBoxContainer/HBoxContainer2/ResolutionHolder.visible = !_settings.fullscreen - SaveLoad.save("settings") - - -func apply_settings(): - resolution_input.placeholder_text = ( - str(_settings.resolution.x) - + "x" - + str(_settings.resolution.y) - ) - OS.window_fullscreen = _settings.fullscreen - if _settings.fullscreen: - _settings.resolution = OS.get_screen_size() - OS.set_window_size(_settings.resolution) - OS.vsync_enabled = _settings.vsync - globalsettings.stopwatch = _settings.stopwatch - - -func _on_ResolutionInput_text_entered(new_text: String): - if starting: - return - var text = new_text.split("x") - if text.size() < 2: - MainInstances.console.Log("Please split text with a x (1270x720)", 2.5, 5) - return - var text_processed = [] - for number in text: - number = int(number) - number = round(number) - number = clamp(number, 400, 4000) - text_processed.append(number) - var new_res = Vector2(text_processed[0], text_processed[1]) - _settings.resolution = new_res - update_settings() - - -func _on_ResolutionButton_pressed(): - if starting: - return - resolution_input.visible = !resolution_input.visible - - -func _on_ExitButton_pressed(): - hide() - update_settings(false) - if get_parent().has_method("pause_toggle"): - get_parent().pause_toggle(true) - else: - push_warning("Parent of %s not pausemenu" % self) - - -func _on_StopwatchBox_toggled(button_pressed): - if starting: - return - _settings.stopwatch = button_pressed - update_settings() |