Exemplo n.º 1
0
        /// <summary>
        /// Перемещение карт между таблицами.
        /// </summary>
        /// <param name="cards">список перемещаемых карт</param>
        /// <param name="from">из какой таблицы перемещаем</param>
        /// <param name="to">в какую таблицу</param>
        /// <param name="saveToHistory">отметить ход в истории изменений</param>
        public void MoveCards(List <Card> cards, Tableau from, Tableau to, bool saveToHistory = true)
        {
            // Удаляем карты из таблицы.
            foreach (var card in cards)
            {
                from.GetList().Remove(card);
            }

            if (saveToHistory)
            {
                bool faceUp = (from.GetTopCard() == null) ? false : from.GetTopCard().IsFaceDown;
                MovesManager.Move(new List <Card>(cards), from, to, faceUp);
            }

            from.FaceUpTopCard();
            to.AddCards(cards);
        }