diff --git a/Sources/CoreLibrary/Core/Code.cs b/Sources/CoreLibrary/Core/Code.cs index 3567998..4cf8e91 100644 --- a/Sources/CoreLibrary/Core/Code.cs +++ b/Sources/CoreLibrary/Core/Code.cs @@ -1,11 +1,13 @@ using CoreLibrary.Exceptions; using System.Collections.ObjectModel; +using System.Runtime.Serialization; namespace CoreLibrary.Core { /// /// Classe représentant un code composé de jetons et ses différentes méthodes. /// + [DataContract] public class Code { private readonly ObservableCollection lesJetons = new ObservableCollection(); @@ -13,13 +15,16 @@ namespace CoreLibrary.Core /// /// Le nombre maximum de jetons dans le code. /// + [DataMember] public int NbJetonsMax { get; private set; } /// /// Le nombre de jetons dans le code. /// + [DataMember] public int NbJetons { get => lesJetons.Count; } + [DataMember] public ObservableCollection Jetons => lesJetons; /// diff --git a/Sources/CoreLibrary/Core/Indicateur.cs b/Sources/CoreLibrary/Core/Indicateur.cs index 89180d8..c4284d5 100644 --- a/Sources/CoreLibrary/Core/Indicateur.cs +++ b/Sources/CoreLibrary/Core/Indicateur.cs @@ -1,8 +1,11 @@ -namespace CoreLibrary.Core +using System.Runtime.Serialization; + +namespace CoreLibrary.Core { /// /// Enumération des indicateurs disponibles pour les jetons. /// + [DataContract] public enum Indicateur { BONNEPLACE, diff --git a/Sources/CoreLibrary/Core/Jeton.cs b/Sources/CoreLibrary/Core/Jeton.cs index 1996ce5..4451cdc 100644 --- a/Sources/CoreLibrary/Core/Jeton.cs +++ b/Sources/CoreLibrary/Core/Jeton.cs @@ -1,13 +1,17 @@ -namespace CoreLibrary.Core +using System.Runtime.Serialization; + +namespace CoreLibrary.Core { /// /// Structure représentant un jeton de couleur /// + [DataContract] public struct Jeton { /// /// La couleur du jeton. /// + [DataMember] public readonly Couleur Couleur { get; private init; } /// diff --git a/Sources/CoreLibrary/Core/Plateau.cs b/Sources/CoreLibrary/Core/Plateau.cs index c3d1f3e..6d560b5 100644 --- a/Sources/CoreLibrary/Core/Plateau.cs +++ b/Sources/CoreLibrary/Core/Plateau.cs @@ -1,4 +1,5 @@ using CoreLibrary.Exceptions; +using System.Runtime.Serialization; using System.Security.Cryptography; namespace CoreLibrary.Core @@ -6,22 +7,29 @@ namespace CoreLibrary.Core /// /// Classe représentant un plateau de jeu composé de codes et leurs indicateurs ainsi que les méthodes associées. /// + [DataContract] public class Plateau { + [DataMember] private readonly Code codeSecret; + [DataMember] private readonly Code?[] grille; + [DataMember] private readonly IEnumerable[] indicateurs; + [DataMember] private readonly int tailleCode; /// /// Le numéro de tour actuel. /// + [DataMember] public int Tour { get; private set; } = 1; /// /// La victoire du joueur, True si le joueur a gagné sinon False /// + [DataMember] public bool Victoire { get; private set; } = false; /// diff --git a/Sources/CoreLibrary/Partie.cs b/Sources/CoreLibrary/Partie.cs index aaab371..a692fe3 100644 --- a/Sources/CoreLibrary/Partie.cs +++ b/Sources/CoreLibrary/Partie.cs @@ -15,12 +15,15 @@ namespace CoreLibrary [DataMember] public IRegles Regles { get; private set; } + [DataMember] private readonly List joueurs = new List(); + [DataMember] private readonly List plateaux = new List(); + [DataMember] private int? courant; /// - /// Événement déclenché lorsqu'il est nécessaire de d'ajouter un joueur. + /// Événement déclenché lorsqu'il est nécessaire d'ajouter un joueur. /// public event EventHandler? DemanderNom;