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()