Chelimbalo/scripts/gui/client_settings_menu.gd
2025-12-08 14:58:25 +05:00

36 lines
1.1 KiB
GDScript

extends Control
var cached_mouse_state: Input.MouseMode
func _ready() -> void:
hide()
Session.session_started.connect(%LeaveButton.show)
Session.session_ended.connect(%LeaveButton.hide)
func _input(event: InputEvent) -> void:
if event.is_action_pressed("menu_settings"):
visible = not visible
if visible:
cached_mouse_state = Input.mouse_mode
Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
else:
Input.mouse_mode = cached_mouse_state
func _on_gameplay_main_slider_value_changed(value: float) -> void:
AudioServer.set_bus_volume_linear(1,value)
func _on_fullscreen_button_toggled(toggled_on: bool) -> void:
DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN if toggled_on else DisplayServer.WINDOW_MODE_WINDOWED)
func _on_sensitivity_slider_value_changed(value: float) -> void:
$VBoxContainer/Sensitivity/SpinBox.set_value_no_signal(value)
ClientSettings.SENSITIVITY = value
func _on_sensitivity_box_value_changed(value: float) -> void:
$VBoxContainer/Sensitivity/HSlider.set_value_no_signal(value)
ClientSettings.SENSITIVITY = value
func _on_leave_button_pressed() -> void:
Session.quit_session()