|
|
|
@ -7,50 +7,31 @@ namespace MauiSpark.Pages;
|
|
|
|
|
|
|
|
|
|
public partial class ConnexionPage : ContentPage
|
|
|
|
|
{
|
|
|
|
|
private readonly JoueurBuilder joueurBuilder;
|
|
|
|
|
|
|
|
|
|
public ConnexionPage(Partie partie, DemanderNomEventArgs e)
|
|
|
|
|
private JoueurBuilder? joueurBuilder;
|
|
|
|
|
|
|
|
|
|
public ConnexionPage()
|
|
|
|
|
{
|
|
|
|
|
NavigationPage.SetHasBackButton(this, false);
|
|
|
|
|
NavigationPage.SetHasNavigationBar(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)
|
|
|
|
|
public async void QuandDemanderNom(Object? sender, DemanderNomEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
if (sender != null && sender is Partie)
|
|
|
|
|
Navigation.PushAsync(new Plateau(sender as Partie, e));
|
|
|
|
|
}
|
|
|
|
|
if(Application.Current != null && Application.Current.MainPage != null && ((NavigationPage)Application.Current.MainPage).CurrentPage != this)
|
|
|
|
|
await Application.Current.MainPage.Navigation.PushAsync(this);
|
|
|
|
|
|
|
|
|
|
Nom.Text = "";
|
|
|
|
|
joueurBuilder = e.JoueurBuilder;
|
|
|
|
|
BindingContext = $"Joueur {e.Indice}";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void QuandSeConnecterPresse(Object sender, EventArgs e)
|
|
|
|
|
{
|
|
|
|
|
joueurBuilder.Nom(Nom.Text);
|
|
|
|
|
}
|
|
|
|
|
if(joueurBuilder != null)
|
|
|
|
|
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));
|
|
|
|
|
}
|
|
|
|
|
joueurBuilder = null;
|
|
|
|
|
}
|
|
|
|
|
}
|