using System.Collections.Generic; using OrderStacks.model; using OrderStacks.model.@event; namespace OrderStacks.viewmodel { public class PlayerVM { public Player View { get; set; } public string Pseudo { get; set; } private List cardList = new List(); /** * Player représenté * Constructeur */ public PlayerVM(Player view) { View = view; Pseudo = view.Pseudo; view.getCardList().ForEach(card => cardList.Add(new CardVM(card))); View.HandCardChanged += OnHandCardChanged; } /** * Argument(s) de l'événement * Source de l'événement * Evénement permettant à l'utilisateur de changer les cartes qu'il possède (supprimé et/ou piocher une carte). */ private void OnHandCardChanged(object sender, HandCardChangedEventArgs args) { if (args.NewCard == null) { cardList.RemoveAt(args.Position); } else { cardList.Insert(args.Position, new CardVM(args.NewCard)); } } /** * Carte piocher * Fonction permettant de piocher une carte */ public void pioche(CardVM card) { View.pioche(card.View); } /** * Fonction permettant de retourner les cartes possédées par l'utilisateur. * Liste des cartes possédé par l'utilisateur */ public List getCardList() { return cardList; } } }