/// <summary> /// Move all card to the deck. /// </summary> /// <param name="to">Target deck.</param> public void MoveAll(CardDeck to) { if (to.size >= 0 && to.list.Count() > to.size - this.list.Count) { throw GameException.getCardTooManyException(); } List <string> list = new List <string>(); foreach (Card card in this.list) { list.Add(card.Name); } foreach (string name in list) { this.Move(name, to); } }
/// <summary> /// Move the specified card to the another deck. /// </summary> /// <param name="cardStr">card string.</param> /// <param name="to">Target deck.</param> /// <returns>Card instance.</returns> public Card Move(string cardStr, CardDeck to) { if (to.size >= 0 && to.list.Count() == to.size) { throw GameException.getCardTooManyException(); } Card card = this.Get(cardStr); if (card == null) { throw GameException.getNoCardException(); } if (!this.list.Remove(card)) { throw new Exception(); } CardDeck.handler(this, to, card); to.list.Add(card); return(card); }