Files
tgcc/core/game_menu/settings_menu.gd
2026-06-14 18:49:34 +02:00

37 lines
1.1 KiB
GDScript

extends HBoxContainer
class_name SettingsMenu
@onready var audio_options_container: VBoxContainer = $%AudioOptionsContainer
@onready var aliasing_checkbox: CustomCheckbox = $%AliasingCheckbox
func _ready() -> void:
_refresh_audio_options()
if aliasing_checkbox:
aliasing_checkbox.button_pressed = get_viewport().use_taa or get_viewport().msaa_3d != Viewport.MSAA_DISABLED
aliasing_checkbox.toggled.connect(_on_aliasing_toggled)
func _on_aliasing_toggled(toggled_on: bool) -> void:
get_viewport().use_taa = toggled_on
var msaa_mode = Viewport.MSAA_2X if toggled_on else Viewport.MSAA_DISABLED
get_viewport().msaa_3d = msaa_mode
get_viewport().msaa_2d = msaa_mode
func _get_audio_options() -> Array[AudioOption]:
var audio_options: Array[AudioOption] = []
for child in audio_options_container.get_children():
if child is AudioOption:
audio_options.append(child)
return audio_options
func _refresh_audio_options() -> void:
for audio_option in _get_audio_options():
audio_option.refresh()
func _apply_current_audio_values() -> void:
for audio_option in _get_audio_options():
audio_option.apply_current_value()