using System.Runtime.Serialization; namespace CoreLibrary.Core { [DataContract] public readonly struct Jeton { [DataMember] public Couleur Couleur { get; private init; } public Jeton(Couleur couleur) { Couleur = couleur; } public override readonly bool Equals(object? objet) { if (objet == null || objet is not Jeton) return false; return Couleur == ((Jeton)objet).Couleur; } public static bool operator ==(Jeton gauche, Jeton droite) => gauche.Equals(droite); public static bool operator !=(Jeton gauche, Jeton droite) => gauche.Equals(droite); public override readonly int GetHashCode() => Couleur.GetHashCode(); } }