From d6801b9186a8cb13738f3946239417f4dc617c93 Mon Sep 17 00:00:00 2001 From: "camille.turpin-etienne" Date: Wed, 5 Jun 2024 13:28:38 +0200 Subject: [PATCH] =?UTF-8?q?doc=20Vue=20termin=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Vues/BoutonClassementVue.xaml.cs | 15 ++++++- .../MauiSpark/Vues/BoutonReglesVue.xaml.cs | 13 ++++++ .../MauiSpark/Vues/ImageResultatVue.xaml.cs | 13 ++++++ Sources/MauiSpark/Vues/IndicateurVue.xaml.cs | 24 ++++++++++- Sources/MauiSpark/Vues/JetonVue.xaml.cs | 40 +++++++++++++++++++ Sources/MauiSpark/Vues/ModeVue.xaml.cs | 17 ++++++++ .../MauiSpark/Vues/PartieCommenceeVue.xaml.cs | 30 ++++++++++++++ Sources/MauiSpark/Vues/ReglesVue.xaml.cs | 19 +++++++++ Sources/MauiSpark/Vues/TitreVue.xaml.cs | 12 ++++++ 9 files changed, 180 insertions(+), 3 deletions(-) diff --git a/Sources/MauiSpark/Vues/BoutonClassementVue.xaml.cs b/Sources/MauiSpark/Vues/BoutonClassementVue.xaml.cs index 91671dd..3add4be 100644 --- a/Sources/MauiSpark/Vues/BoutonClassementVue.xaml.cs +++ b/Sources/MauiSpark/Vues/BoutonClassementVue.xaml.cs @@ -2,13 +2,26 @@ using MauiSpark.Pages; namespace MauiSpark.Vues; +/// +/// Vue représentant un bouton pour accéder à la page de classement. +/// public partial class BoutonClassementVue : ContentView { - public BoutonClassementVue() + /// + /// Constructeur de la vue du bouton de classement. + /// Initialise les composants de la vue. + /// + public BoutonClassementVue() { InitializeComponent(); } + /// + /// Méthode déclenchée lorsque le bouton de classement est cliqué. + /// Navigue vers la page de classement. + /// + /// L'objet qui appelle l'événement ; ici le bouton de classement. + /// L'instance de l'événement EventArgs créée par le système. private void QuandClassementClique(Object? sender, EventArgs e) { Navigation.PushAsync(new ClassementPage()); diff --git a/Sources/MauiSpark/Vues/BoutonReglesVue.xaml.cs b/Sources/MauiSpark/Vues/BoutonReglesVue.xaml.cs index a657680..c218270 100644 --- a/Sources/MauiSpark/Vues/BoutonReglesVue.xaml.cs +++ b/Sources/MauiSpark/Vues/BoutonReglesVue.xaml.cs @@ -2,13 +2,26 @@ using MauiSpark.Pages; namespace MauiSpark.Vues; +/// +/// Vue représentant un bouton pour accéder à la page des règles. +/// public partial class BoutonReglesVue : ContentView { + /// + /// Constructeur de la vue du bouton des règles. + /// Initialise les composants de la vue. + /// public BoutonReglesVue() { InitializeComponent(); } + /// + /// Méthode déclenchée lorsque le bouton des règles est cliqué. + /// Navigue vers la page des règles. + /// + /// L'objet qui appelle l'événement ; ici le bouton des règles. + /// L'instance de l'événement EventArgs créée par le système. private void QuandReglesClique(Object? sender, EventArgs e) { Navigation.PushAsync(new ReglesPage()); diff --git a/Sources/MauiSpark/Vues/ImageResultatVue.xaml.cs b/Sources/MauiSpark/Vues/ImageResultatVue.xaml.cs index a687257..accf035 100644 --- a/Sources/MauiSpark/Vues/ImageResultatVue.xaml.cs +++ b/Sources/MauiSpark/Vues/ImageResultatVue.xaml.cs @@ -1,15 +1,28 @@ namespace MauiSpark.Vues; +/// +/// Vue représentant une image de résultat. +/// public partial class ImageResultatVue : ContentView { + /// + /// Propriété attachée à l'image affichée dans la vue. + /// public static readonly BindableProperty ImageProperty = BindableProperty.Create(nameof(Image), typeof(ImageSource), typeof(ImageResultatVue), null); + /// + /// Obtient ou définit l'image affichée dans la vue. + /// public ImageSource Image { get => (ImageSource)GetValue(ImageProperty); set => SetValue(ImageProperty, value); } + /// + /// Constructeur de la vue de l'image de résultat. + /// Initialise les composants de la vue et lie le contexte de liaison à cette instance. + /// public ImageResultatVue() { InitializeComponent(); diff --git a/Sources/MauiSpark/Vues/IndicateurVue.xaml.cs b/Sources/MauiSpark/Vues/IndicateurVue.xaml.cs index 205819f..f0ffa34 100644 --- a/Sources/MauiSpark/Vues/IndicateurVue.xaml.cs +++ b/Sources/MauiSpark/Vues/IndicateurVue.xaml.cs @@ -4,22 +4,42 @@ using System.Globalization; namespace MauiSpark.Vues; +/// +/// Vue représentant un indicateur coloré. +/// public partial class IndicateurVue : ContentView { + /// + /// Propriété attachée à la couleur de l'indicateur. + /// public static readonly BindableProperty CouleurProperty = BindableProperty.Create(nameof(Couleur), typeof(Color), typeof(IndicateurVue), default(Color)); - public Color Couleur + /// + /// Obtient ou définit la couleur de l'indicateur. + /// + public Color Couleur { get => (Color)GetValue(CouleurProperty); set => SetValue(CouleurProperty, value); } - public IndicateurVue() + + /// + /// Constructeur de la vue de l'indicateur. + /// Initialise les composants de la vue et lie le contexte de liaison à cette instance. + /// + public IndicateurVue() { InitializeComponent(); BindingContext = this; } + /// + /// Méthode déclenchée lorsque la taille de l'indicateur est modifiée. + /// Réajuste la taille du carré représentant l'indicateur pour qu'il soit toujours carré. + /// + /// L'objet qui a déclenché l'événement ; ici, le carré représentant l'indicateur. + /// Les arguments de l'événement. private void QuandTailleChangee(object sender, EventArgs e) { double taille = Math.Min(Grid.Width, Grid.Height) / 2; diff --git a/Sources/MauiSpark/Vues/JetonVue.xaml.cs b/Sources/MauiSpark/Vues/JetonVue.xaml.cs index b841032..bc8f6a6 100644 --- a/Sources/MauiSpark/Vues/JetonVue.xaml.cs +++ b/Sources/MauiSpark/Vues/JetonVue.xaml.cs @@ -5,42 +5,82 @@ using System.Globalization; namespace MauiSpark.Vues; +/// +/// Vue représentant un jeton coloré. +/// public partial class JetonVue : ContentView { + /// + /// Propriété attachée à la couleur du jeton. + /// public static readonly BindableProperty CouleurProperty = BindableProperty.Create(nameof(Couleur), typeof(Color), typeof(JetonVue), default(Color)); + + /// + /// Propriété attachée au code associé au jeton. + /// public static readonly BindableProperty CodeProperty = BindableProperty.Create(nameof(Code), typeof(Code), typeof(JetonVue), null); + + /// + /// Propriété attachée indiquant si le jeton est associé à un joueur. + /// public static readonly BindableProperty EstJoueurProperty = BindableProperty.Create(nameof(EstJoueur), typeof(bool), typeof(JetonVue), true); + /// + /// Obtient ou définit la couleur du jeton. + /// public Color Couleur { get => (Color)GetValue(CouleurProperty); set => SetValue(CouleurProperty, value); } + /// + /// Obtient ou définit le code associé au jeton. + /// public Code? Code { get => (Code?)GetValue(CodeProperty); set => SetValue(CodeProperty, value); } + /// + /// Obtient ou définit une valeur indiquant si le jeton est associé à un joueur. + /// public bool EstJoueur { get => (bool)GetValue(EstJoueurProperty); set => SetValue(EstJoueurProperty, value); } + /// + /// Constructeur de la vue du jeton. + /// Initialise les composants de la vue et lie le contexte de liaison à cette instance. + /// public JetonVue() { InitializeComponent(); BindingContext = this; } + /// + /// Méthode déclenchée lorsque la taille du jeton est modifiée. + /// Réajuste la taille du cercle représentant le jeton pour qu'il soit toujours circulaire. + /// + /// L'objet qui a déclenché l'événement ; ici, le cercle représentant le jeton. + /// Les arguments de l'événement, s'il y en a. private void QuandTailleChangee(object sender, EventArgs e) { double taille = Math.Min(Grid.Width, Grid.Height) / 2; Cercle.WidthRequest = Cercle.HeightRequest = taille; } + /// + /// Méthode déclenchée lorsque le jeton est pressé. + /// Ajoute un jeton à un code si celui-ci est associé à un joueur. + /// Affiche une alerte si le code est déjà complet. + /// + /// L'objet qui a déclenché l'événement ; ici, le cercle représentant le jeton. + /// Les arguments de l'événement, s'il y en a. private void JetonPresse(object sender, EventArgs e) { if (Cercle == null || !sender.Equals(Cercle) || Code == null || Application.Current == null || Application.Current.MainPage == null || !EstJoueur) diff --git a/Sources/MauiSpark/Vues/ModeVue.xaml.cs b/Sources/MauiSpark/Vues/ModeVue.xaml.cs index a30f109..b47ff3e 100644 --- a/Sources/MauiSpark/Vues/ModeVue.xaml.cs +++ b/Sources/MauiSpark/Vues/ModeVue.xaml.cs @@ -4,21 +4,38 @@ using MauiSpark.Pages; namespace MauiSpark.Vues; +/// +/// Vue permettant de sélectionner un mode de jeu. +/// public partial class ModeVue : ContentView { + /// + /// Propriété de dépendance pour les règles du jeu. + /// public static readonly BindableProperty ReglesProperty = BindableProperty.Create(nameof(Regles), typeof(IRegles), typeof(ModeVue), null); + /// + /// Les règles du jeu sélectionnées. + /// public IRegles Regles { get => (IRegles)GetValue(ReglesProperty); set => SetValue(ReglesProperty, value); } + /// + /// Constructeur par défaut de la vue du mode de jeu. + /// public ModeVue() { InitializeComponent(); } + /// + /// Méthode déclenchée lorsque le bouton de sélection des règles est pressé. + /// + /// L'objet qui a déclenché l'événement ; ici, le bouton de sélection des règles. + /// Les arguments de l'événement EventArgs. private void QuandReglesPresse(Object sender, EventArgs e) { Partie partie = MauiProgram.Manageur.NouvellePartie(Regles); diff --git a/Sources/MauiSpark/Vues/PartieCommenceeVue.xaml.cs b/Sources/MauiSpark/Vues/PartieCommenceeVue.xaml.cs index 36f7ee1..99dd437 100644 --- a/Sources/MauiSpark/Vues/PartieCommenceeVue.xaml.cs +++ b/Sources/MauiSpark/Vues/PartieCommenceeVue.xaml.cs @@ -4,33 +4,57 @@ using System.ComponentModel; namespace MauiSpark.Vues; +/// +/// Vue affichant les détails d'une partie en cours. +/// public partial class PartieCommenceeVue : ContentView, INotifyPropertyChanged { + /// + /// Propriété de dépendance pour la partie en cours. + /// public static readonly BindableProperty PartieProperty = BindableProperty.Create(nameof(Partie), typeof(Partie), typeof(PartieCommenceeVue), null, propertyChanged: QuandPartieChangee); + /// + /// La partie en cours. + /// public Partie Partie { get => (Partie)GetValue(PartieProperty); set => SetValue(PartieProperty, value); } + /// + /// Le nom des règles de la partie. + /// public string NomRegles { get => Partie != null ? Partie.Regles.Nom : ""; } + /// + /// Le tour actuel de la partie. + /// public string TourActuel { get => $"Tour : {(Partie != null ? Partie.Tour : 0)} / {(Partie != null ? Partie.Regles.NbTour : 0)}"; } + /// + /// Les joueurs participant à la partie. + /// public string[] Joueurs { get => Partie != null ? Partie.Joueurs.ToArray() : []; } + /// + /// Le nombre de joueurs participant à la partie. + /// public string NombreJoueurs => $"Joueurs : {Joueurs.Length} / {(Partie != null ? Partie.Regles.NbJoueurs : 0)}"; + /// + /// Méthode déclenchée lorsqu'une propriété de la partie change. + /// private static void QuandPartieChangee(BindableObject bindable, object ancienneValeur, object nouvelleValeur) { ((PartieCommenceeVue)bindable).OnPropertyChanged(nameof(NomRegles)); @@ -39,6 +63,9 @@ public partial class PartieCommenceeVue : ContentView, INotifyPropertyChanged ((PartieCommenceeVue)bindable).OnPropertyChanged(nameof(NombreJoueurs)); } + /// + /// Méthode déclenchée lorsqu'un utilisateur appuie sur la vue de la partie. + /// private void PartiePressee(object? sender, EventArgs e) { if (Partie == null) @@ -53,6 +80,9 @@ public partial class PartieCommenceeVue : ContentView, INotifyPropertyChanged partie.Jouer(); } + /// + /// Constructeur par défaut de la vue de la partie en cours. + /// public PartieCommenceeVue() { InitializeComponent(); diff --git a/Sources/MauiSpark/Vues/ReglesVue.xaml.cs b/Sources/MauiSpark/Vues/ReglesVue.xaml.cs index 4a903f1..c179692 100644 --- a/Sources/MauiSpark/Vues/ReglesVue.xaml.cs +++ b/Sources/MauiSpark/Vues/ReglesVue.xaml.cs @@ -1,22 +1,41 @@ namespace MauiSpark.Vues; +/// +/// Vue pour afficher le titre et la description des règles. +/// public partial class ReglesVue : ContentView { + /// + /// Identifie la propriété de dépendance pour le titre des règles. + /// public static readonly BindableProperty TitreProperty = BindableProperty.Create(nameof(Titre), typeof(string), typeof(ReglesVue), default(string)); + + /// + /// Identifie la propriété de dépendance pour la description des règles. + /// public static readonly BindableProperty DescriptionProperty = BindableProperty.Create(nameof(Description), typeof(string), typeof(ReglesVue), default(string)); + /// + /// Obtient ou définit le titre des règles. + /// public string Titre { get => (string)GetValue(TitreProperty); set => SetValue(TitreProperty, value); } + /// + /// Obtient ou définit la description des règles. + /// public string Description { get => (string)GetValue(DescriptionProperty); set => SetValue(DescriptionProperty, value); } + /// + /// Initialise une nouvelle instance de la classe . + /// public ReglesVue() { InitializeComponent(); diff --git a/Sources/MauiSpark/Vues/TitreVue.xaml.cs b/Sources/MauiSpark/Vues/TitreVue.xaml.cs index 3185bb6..1f6a106 100644 --- a/Sources/MauiSpark/Vues/TitreVue.xaml.cs +++ b/Sources/MauiSpark/Vues/TitreVue.xaml.cs @@ -1,15 +1,27 @@ namespace MauiSpark.Vues; +/// +/// Vue pour afficher un titre. +/// public partial class TitreVue : ContentView { + /// + /// Identifie la propriété de dépendance pour le texte du titre. + /// public static readonly BindableProperty TexteProperty = BindableProperty.Create(nameof(Texte), typeof(string), typeof(TitreVue), default(string)); + /// + /// Obtient ou définit le texte du titre. + /// public string Texte { get => (string)GetValue(TexteProperty); set => SetValue(TexteProperty, value); } + /// + /// Initialise une nouvelle instance de la classe . + /// public TitreVue() { InitializeComponent();