using CoreLibrary; using CoreLibrary.Events; using CoreLibrary.Joueurs; namespace MauiSpark.Pages; public partial class ConnexionPage : ContentPage { private readonly JoueurBuilder joueurBuilder; public ConnexionPage(Partie partie, DemanderNomEventArgs e) { NavigationPage.SetHasBackButton(this, false); NavigationPage.SetHasNavigationBar(this, false); InitializeComponent(); joueurBuilder = e.JoueurBuilder; if (e.Indice == partie.Regles.NbJoueursMaximum) { partie.NouveauTour += QuandNouveauTour; partie.PartieTerminee += PartieTerminee; } BindingContext = $"Joueur {e.Indice}"; } private void QuandNouveauTour(object? sender, NouveauTourEventArgs e) { if (sender != null && sender is Partie) Navigation.PushAsync(new Plateau(sender as Partie, e)); } private void QuandSeConnecterPresse(Object sender, EventArgs e) { joueurBuilder.Nom(Nom.Text); } private void PartieTerminee(Object? sender, PartieTermineeEventArgs e) { if(e.Gagnants.Count() == 0) { Navigation.PushAsync(new Defaite((Partie) sender, e)); } else if (e.Gagnants.Count() == 2) { Navigation.PushAsync(new Egalite()); } else { Navigation.PushAsync(new Victoire((Partie)sender, e)); } } }