extends Node @export var title: PackedScene = load("res://scenes/UI/title/Title.tscn") @export var setting: PackedScene = load("res://scenes/UI/settings/Settings.tscn") @export var choose_scene: PackedScene = load("res://scenes/UI/choose_scenes/ChooseScene.tscn") @onready var stream_button: AudioStream = preload("res://assets/sounds/click-button.ogg") @onready var home: TextureButton = $MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer/CenterContainer/TextureRect func _ready() -> void: _translation() home.focus_mode = Control.FOCUS_ALL home.grab_focus() _apply_scene(title) _configure_sound() func _configure_sound() -> void: if stream_button is AudioStreamOggVorbis: stream_button.loop = false $MarginContainer/HBoxContainer/UI_summary/ClickButton.stream = stream_button ## PRIVATE func _translation() -> void: $MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer/ButtonPuzzle/Label.text = tr("MAIN_BUTTON_PUZZLES") $MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer/ButtonSetting/Label.text = tr("MAIN_BUTTON_SETTINGS") $MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer/ButtonQuit/Label.text = tr("MAIN_BUTTON_QUIT") $MarginContainer/HBoxContainer/UI_summary/PanelWood/VBoxContainer/ContainerVersion/LabelVersion.text = Setting.get_setting_version() func _apply_scene(actual_scene: PackedScene) -> void: var node := get_node("MarginContainer/HBoxContainer/MarginContainer/") if node.get_child_count() != 0: node.get_child(0).queue_free() node.add_child(actual_scene.instantiate()) func _on_ButtonPuzzle_pressed() -> void: _sound_button() _apply_scene(choose_scene) func _on_ButtonSetting_pressed() -> void: _sound_button() _apply_scene(setting) func _on_TextureRect_pressed() -> void: _sound_button() _apply_scene(title) func _on_ButtonQuit_pressed() -> void: _sound_button() get_tree().quit(0) func _sound_button() -> void: $MarginContainer/HBoxContainer/UI_summary/ClickButton.play()