extends CanvasLayer enum GIOCATORI {GIOCATORE_1, GIOCATORE_2} signal inizia_gioco signal segnale_undo signal segnale_esci export (AudioStream) var suono_bottone export (AudioStream) var suono_slider var _manager_di_gioco: Node func _ready(): _manager_di_gioco = get_parent() aggiorna_giocatore() $Contenitore_verticale/Schermata_iniziale_testo.text = "Seleziona il numero di colonne\n(%d)" % $Contenitore_verticale/Contenitore_centrante/Input_numero_colonne.value func _on_Start_button_pressed(): $SFX.stream = suono_bottone $SFX.play() emit_signal("inizia_gioco") func _on_Input_numero_colonne_value_changed(value): $SFX.stream = suono_slider $SFX.play() $Contenitore_verticale/Schermata_iniziale_testo.text = "Seleziona il numero di colonne\n(%d)" % value func _on_Undo_button_pressed(): if !_manager_di_gioco.celle_da_cambiare.empty() or _manager_di_gioco.gioco_finito: return emit_signal("segnale_undo") func _on_Esci_tasto_pressed(): if !_manager_di_gioco.celle_da_cambiare.empty() or _manager_di_gioco.gioco_finito: return $Pannello_popup.popup() func _on_tasto_no_pressed(): $Pannello_popup.hide() func _on_tasto_ok_pressed(): $Pannello_popup.hide() emit_signal("segnale_esci") func aggiorna_giocatore(): # Utiliziamo la formattazione delle stringhe per ottenere il colore delle scritte in esadecimale match _manager_di_gioco.giocatore: GIOCATORI.GIOCATORE_1: $Contenitore_alto/Chi_sta_giocando.bbcode_text = "[center][color=#%02x%02x%02x]Giocatore 1[/color]" % [_manager_di_gioco.player_1_color.x * 255,_manager_di_gioco.player_1_color.y * 255,_manager_di_gioco.player_1_color.z * 255] GIOCATORI.GIOCATORE_2: $Contenitore_alto/Chi_sta_giocando.bbcode_text = "[center][color=#%02x%02x%02x]Giocatore 2[/color]" % [_manager_di_gioco.player_2_color.x * 255,_manager_di_gioco.player_2_color.y * 255,_manager_di_gioco.player_2_color.z * 255]