You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.7 KiB
85 lines
2.7 KiB
using CoreLibrary.Evenements;
|
|
using CoreLibrary.Joueurs;
|
|
|
|
namespace MauiSpark.Pages;
|
|
|
|
/// <summary>
|
|
/// Page de connexion où les joueurs de la partie sont entrés.
|
|
/// </summary>
|
|
public partial class ConnexionPage : ContentPage
|
|
{
|
|
/// <summary>
|
|
/// Indice du joueur à entrer.
|
|
/// </summary>
|
|
private int? indice;
|
|
|
|
/// <summary>
|
|
/// Le joueur demandé.
|
|
/// </summary>
|
|
private Joueur? joueurDemande;
|
|
|
|
/// <summary>
|
|
/// Constructeur de la page de connexion.
|
|
/// Initialise les paramètres de navigation et les composants de la page.
|
|
/// </summary>
|
|
public ConnexionPage()
|
|
{
|
|
NavigationPage.SetHasNavigationBar(this, false);
|
|
|
|
InitializeComponent();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Méthode déclenchée lorsque l'événement DemanderNom de partie est appelée.
|
|
/// </summary>
|
|
/// <param name="sender">La classe qui appelle l'événement ; ici Partie.</param>
|
|
/// <param name="e">L'instance de l'événement PartieDemanderJoueurEventArgs créée par Partie.</param>
|
|
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}";
|
|
}
|
|
|
|
/// <summary>
|
|
/// Méthode déclenchée lorsque le bouton "Se Connecter" est cliqué.
|
|
/// </summary>
|
|
/// <param name="sender">L'objet qui appelle l'événement ; ici le bouton SeConnecterPresse.</param>
|
|
/// <param name="e">L'instance de l'événement EventArgs créée par le système.</param>
|
|
private void QuandSeConnecterPresse(Object sender, EventArgs e)
|
|
{
|
|
if (joueurDemande == null || indice == null)
|
|
return;
|
|
|
|
Joueur joueur;
|
|
if (string.IsNullOrEmpty(Nom.Text))
|
|
{
|
|
joueur = new Joueur($"Joueur {indice.Value}");
|
|
}
|
|
else
|
|
{
|
|
joueur = MauiProgram.Manageur.DemanderJoueur(Nom.Text);
|
|
}
|
|
|
|
joueurDemande.SeConnecter(joueur);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Méthode déclenchée lorsque le bouton "Robot" est cliqué.
|
|
/// </summary>
|
|
/// <param name="sender">L'objet qui appelle l'événement ; ici le bouton RobotPresse.</param>
|
|
/// <param name="e">L'instance de l'événement EventArgs créée par le système.</param>
|
|
private void QuandRobotPresse(object sender, EventArgs e)
|
|
{
|
|
if (joueurDemande == null || indice == null)
|
|
return;
|
|
|
|
Robot robot = new Robot();
|
|
|
|
joueurDemande.SeConnecter(robot);
|
|
}
|
|
} |