94 lines
3.1 KiB
GDScript
94 lines
3.1 KiB
GDScript
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()
|