main_menu_ui.gd 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. extends Panel
  2. var master_bus = AudioServer.get_bus_index("Master")
  3. var reverb_bus = AudioServer.get_bus_index("Reverb")
  4. func _on_play_pressed():
  5. get_tree().paused = false
  6. if GameManager.is_running_on_mobile():
  7. Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
  8. GameManager.goto_scene(GameManager.get_last_scene())
  9. func _on_quit_pressed():
  10. get_tree().quit()
  11. func _on_new_game_pressed():
  12. GameManager.goto_scene("res://Scenes/shader_compilation.tscn", false)
  13. if GameManager.is_running_on_mobile():
  14. Input.mouse_mode = Input.MOUSE_MODE_CAPTURED
  15. func _ready():
  16. Input.mouse_mode = Input.MOUSE_MODE_VISIBLE
  17. if GameManager.get_user_value("settings", "low_detail"):
  18. $settings/graphics.button_pressed = GameManager.get_user_value("settings", "low_detail")
  19. GameManager.set_low_detail(GameManager.get_user_value("settings", "low_detail"))
  20. else:
  21. GameManager.set_low_detail(false)
  22. GameManager.set_user_value("settings", "low_detail", false)
  23. $settings/graphics.button_pressed = false
  24. if GameManager.get_user_value("settings", "fullscreen"):
  25. $settings/fullscreen.button_pressed = GameManager.get_user_value("settings", "fullscreen")
  26. else:
  27. $settings/fullscreen.button_pressed = true
  28. $settings/volume.value = db_to_linear(AudioServer.get_bus_volume_db(master_bus))
  29. if GameManager.is_running_on_mobile():
  30. $settings/graphics.hide()
  31. GameManager.set_user_value("settings", "low_detail", true)
  32. GameManager.set_low_detail(true)
  33. func _on_settings_pressed() -> void:
  34. $menu.hide()
  35. $settings.show()
  36. func _on_back_pressed() -> void:
  37. $menu.show()
  38. $settings.hide()
  39. func _on_volume_value_changed(value: float) -> void:
  40. AudioServer.set_bus_volume_db(master_bus, linear_to_db(value))
  41. AudioServer.set_bus_volume_db(reverb_bus, linear_to_db(value))
  42. GameManager.set_user_value("settings", "volume", value)
  43. func _on_fullscreen_toggled(toggled_on: bool) -> void:
  44. GameManager.set_user_value("settings", "fullscreen", toggled_on)
  45. if toggled_on:
  46. DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN)
  47. else:
  48. DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_WINDOWED)
  49. func _on_graphics_toggled(toggled_on: bool) -> void:
  50. GameManager.set_low_detail(toggled_on)
  51. GameManager.set_user_value("settings", "low_detail", toggled_on)