using System; using System.Collections.Generic; using OrderStacks.model.card; using OrderStacks.model.@event; namespace OrderStacks.model { public class Player { public string Pseudo { get; set; } private List cardList = new List(); public event EventHandler HandCardChanged; /** *Pseudo du joueur * * Constructeur */ public Player(string pseudo) { Pseudo = pseudo; } /** * Carte pioché * * Fonction permettant d'ajouter une carte pioché à la main de l'utilisateur */ public void pioche(Card card) { cardList.Add(card); int position = cardList.IndexOf(card); OnCardDrawable(new HandCardChangedEventArgs(card, position)); } /** * Carte joué * * Fonction permettant de jouer une carte de la main du joueur */ public void joue(Card card) { int position = cardList.IndexOf(card); cardList.Remove(card); OnCardDrawable(new HandCardChangedEventArgs(null, position)); } //public IReadOnlyList getCardList() //{ // return cardList.AsReadOnly(); //} /** * Fonction permettant de retourner la liste de carte du joueur * * Liste de cartes */ public List getCardList() { return cardList; } /** * Argument de l'événement * * Evénement permettant de notifier que la main a changé */ protected internal void OnCardDrawable(HandCardChangedEventArgs args) { HandCardChanged?.Invoke(this, args); } } }