diff --git a/Sources/CoreLibrary/Manageurs/Manageur.cs b/Sources/CoreLibrary/Manageurs/Manageur.cs index b9210b0..5d2c145 100644 --- a/Sources/CoreLibrary/Manageurs/Manageur.cs +++ b/Sources/CoreLibrary/Manageurs/Manageur.cs @@ -6,16 +6,45 @@ using System.Text.RegularExpressions; namespace CoreLibrary.Manageurs { + /// + /// Classe représentant un manager. + /// public class Manageur { + /// + /// Attribut privé pour la persistance. + /// private readonly IPersistance persistance; + + /// + /// Liste des joueurs enregistrés. + /// private readonly List joueurs; + + /// + /// Liste des parties enregistrées. + /// private readonly List parties; + /// + /// Obtient la liste des joueurs enregistrés. + /// public IReadOnlyList Joueurs => joueurs; + + /// + /// Obtient la liste des parties enregistrées terminés. + /// public IReadOnlyList Parties => parties; + + /// + /// Obtient la liste des parties non terminées. + /// public IReadOnlyList PartiesNonTerminees => parties.Where(partie => !partie.Termine).Reverse().ToList(); + /// + /// Constructeur de manager avec la persistance spécifiée. + /// + /// Persistance permettant le chargement des joueurs et parties. public Manageur(IPersistance persistance) { this.persistance = persistance; @@ -24,12 +53,20 @@ namespace CoreLibrary.Manageurs parties = persistance.Charger().ToList(); } + /// + /// Sauvegarde les joueurs et les parties. + /// private void Sauvegarder() { persistance.Enregistrer(joueurs.ToArray()); persistance.Enregistrer(parties.ToArray()); } + /// + /// Charge une partie avec la partie à charger spécifiée. + /// + /// La partie que l'on veut charger. + /// Renvoie la partie. public Partie ChargerPartie(Partie partie) { parties.Remove(partie); @@ -42,6 +79,11 @@ namespace CoreLibrary.Manageurs return nouvellePartie; } + /// + /// Créer une nouvelle partie avec les règles spécifiée. + /// + /// Regle permettant la création de la partie. + /// Renvoie la nouvelle partie créée. public Partie NouvellePartie(IRegles regles) { Partie partie = new Partie(regles); @@ -52,6 +94,10 @@ namespace CoreLibrary.Manageurs return partie; } + /// + /// Suivre le cour d'une partie avec la partie spécifiée. + /// + /// La partie à écouter. private void EcouterPartie(Partie partie) { partie.PartieDemanderJoueur += (sender, e) => Sauvegarder(); @@ -85,6 +131,11 @@ namespace CoreLibrary.Manageurs }; } + /// + /// Demande un joueur avec son nom spécifié. + /// + /// Nom du joueur que l'on souhaite trouver. + /// Renvoie le joueur s'il a été trouvé. Sinon, crée un joueur avec le nom passé en paramètre. public Joueur DemanderJoueur(string nom) { foreach (Joueur joueur in joueurs)