using CoreLibrary.Evenements; using CoreLibrary.Joueurs; namespace MauiSpark.Pages; /// /// Page de connexions où l'on rentre les joueurs de la partie /// public partial class ConnexionPage : ContentPage { /// /// Indice du joueur à rentré /// private int? indice; /// /// Le joueur qui est demandé /// private Joueur? joueurDemande; /// /// Constructeur pour la page de connexions /// public ConnexionPage() { NavigationPage.SetHasNavigationBar(this, false); InitializeComponent(); } /// /// Méthode déclenchée quand l'événement DemanderNom de partie est appelée /// /// La class qui appelle l'évenement; ici Partie /// L'instance de l'événement PartieDemanderJoueurEventArgs créée par Partie public async void QuandDemanderNom(Object? sender, PartieDemanderJoueurEventArgs e) { if(Application.Current != null && Application.Current.MainPage != null && ((NavigationPage)Application.Current.MainPage).CurrentPage != this) await Application.Current.MainPage.Navigation.PushAsync(this); Nom.Text = ""; indice = e.Indice; joueurDemande = e.JoueurDemande; BindingContext = $"Joueur {e.Indice}"; } /// /// Méthode déclenché quand le buton joué est cliqué. /// /// L'object qui appelle l'évenement; ici le buton SeConnecterPresse /// L'instance de l'événement EventArgs créée par le systéme private void QuandSeConnecterPresse(Object sender, EventArgs e) { if (joueurDemande == null || indice == null) return; if (string.IsNullOrEmpty(Nom.Text)) { joueurDemande.SeConnecter(new Joueur($"Joueur {indice.Value}")); } else { joueurDemande.SeConnecter(MauiProgram.Manageur.DemanderJoueur(Nom.Text)); } } }