52 lines
1.5 KiB
GDScript
52 lines
1.5 KiB
GDScript
extends Control
|
|
|
|
@onready var levels_menu = $VBoxContainer/levels_menu
|
|
@onready var residents_menu = $VBoxContainer/residents_menu
|
|
|
|
var level = -1
|
|
var id_player = -1
|
|
|
|
func _ready():
|
|
RenderingServer.set_default_clear_color(Color.SKY_BLUE)
|
|
levels_menu.get_popup().connect("id_pressed", self._on_level_selected)
|
|
|
|
await get_tree().process_frame #Esperar a que se cree HTTPRequest en GameData
|
|
var residents = await GameData.get_residents_loaded()
|
|
|
|
if residents_menu.item_count < residents.size():
|
|
for resident in residents:
|
|
var full_name = "%s %s" % [resident.nombre, resident.apellido]
|
|
var id = int(resident.id)
|
|
residents_menu.get_popup().add_item(full_name, id)
|
|
residents_menu.get_popup().connect("id_pressed", self._on_player_selected)
|
|
|
|
func _on_level_selected(id):
|
|
match id:
|
|
0:
|
|
level = 1
|
|
1:
|
|
level = 2
|
|
2:
|
|
level = 3
|
|
|
|
func _on_player_selected(id):
|
|
id_player = id
|
|
|
|
func _on_button_pressed() -> void:
|
|
var bg_color = $VBoxContainer/bg_color_picker.color
|
|
var tiles_lines_color = $VBoxContainer/tiles_lines_color_picker.color
|
|
var table_lines_color = $VBoxContainer/table_lines_color_picker.color
|
|
|
|
var game_scene = preload("res://scenes/Game.tscn").instantiate()
|
|
|
|
game_scene.bg_color = bg_color
|
|
game_scene.tiles_lines_color = tiles_lines_color
|
|
game_scene.table_lines_color = table_lines_color
|
|
game_scene.difficulty = level
|
|
|
|
if id_player != -1:
|
|
GameData.start_game(id_player, level)
|
|
else:
|
|
print("Selecciona un jugador") #Cambiar a popup
|
|
ScreenManager.change_scene(game_scene, self)
|