extends Control @onready var video_player = $VideoStreamPlayer @onready var menu = $HBoxContainer/MenuButton @onready var audio_player = $AudioStreamPlayer2D @onready var exit_menu_confirm_exit_button = $ExitButtonWindow/VBoxContainer/HBoxContainer/ConfirmExitButton @onready var exit_menu_dont_exit_button = $ExitButtonWindow/VBoxContainer/HBoxContainer/DontExitButton var videos: Array[Dictionary] = [] var excercises_order = [] var ordered_videos = [] var current_index: int = 0 func _ready(): videos = [ {"name" : "Marcha", "video" : preload("res://videos/1_marcha.ogv")}, {"name" : "Brazos al lado", "video" : preload("res://videos/2_alcance_vertical.ogv")}, {"name" : "Sentar y levantar", "video" : preload("res://videos/7_levantarse_sentarse.ogv")}, {"name" : "Nadar", "video" : preload("res://videos/10_nadar_en_el_aire.ogv")}, {"name" : "Movimientos laterales", "video" : preload("res://videos/8_movimientos_laterales.ogv")}, {"name" : "Moviminetos laterales + puntillas", "video" : preload("res://videos/9_movimientos_laterales_con_puntillas.ogv")}, {"name" : "Pesa arriba sentado", "video" : preload("res://videos/3_pesa-arriba_sentado.ogv")}, {"name" : "Pesa atras sentado", "video" : preload("res://videos/4_pesa_atras_sentado.ogv")}, {"name" : "Pesas doble sentado", "video" : preload("res://videos/5_pesas_dobles_sentado.ogv")}, {"name" : "Brazos arriba sentado", "video" : preload("res://videos/6_levantar_brazos_sentado.ogv")} ] await get_tree().process_frame $Blocker.visible = true audio_player.play() await audio_player.finished for i in range(3, 0, -1): $Countdown.show() $Countdown.text = str(i) await get_tree().create_timer(1.0).timeout $Countdown.text = "¡Ya!" await get_tree().create_timer(1.0).timeout $Countdown.hide() $Blocker.visible = false menu.get_popup().add_item("Reproducir sonido", 0) menu.get_popup().add_item("Salir", 1) menu.get_popup().connect("id_pressed", self._on_menu_item_selected) for excercise_name in excercises_order: for video in videos: if video["name"] == excercise_name: ordered_videos.append(video) break exit_menu_confirm_exit_button.pressed.connect(_on_exit_menu_button_pressed.bind(true)) exit_menu_dont_exit_button.pressed.connect(_on_exit_menu_button_pressed.bind(false)) video_player.stream = ordered_videos[current_index].video video_player.play() func _on_menu_item_selected(id): match id: 0: audio_player.play() 1: $ExitButtonWindow.show() $Blocker.visible = true func _on_next_video_button_pressed(): current_index += 1 if current_index < ordered_videos.size(): GameData.end_game(ordered_videos.get(current_index -1).name) video_player.stream = ordered_videos[current_index].video video_player.play() else: $EndOfVideosWindow.show() $Blocker.visible = true video_player.stop() func _on_exit_menu_button_pressed(exit : bool): if exit: GameData.clear_active_games() ScreenManager.go_back_to_previous_scene() else: $ExitButtonWindow.hide() $Blocker.visible = false func _on_end_of_videos_button_pressed(): GameData.end_game(ordered_videos.get(current_index -1).name) ScreenManager.go_back_to_previous_scene()