Sanguosha.Core.Games.Game.HandleCardTransferToHand C# (CSharp) Méthode

HandleCardTransferToHand() public méthode

public HandleCardTransferToHand ( Player from, Player to, List cards, MovementHelper helper = null ) : void
from Player
to Player
cards List
helper MovementHelper
Résultat void
        public void HandleCardTransferToHand(Player from, Player to, List<Card> cards, MovementHelper helper = null)
        {
            cards = new List<Card>(cards);
            if (to.IsDead)
            {
                if (cards.Any(cd => cd.Place.DeckType != DeckType.Hand && cd.Place.DeckType != DeckType.Equipment && cd.Place.DeckType != DeckType.DelayedTools))
                {
                    CardsMovement move1 = new CardsMovement();
                    move1.Cards = new List<Card>(cards);
                    move1.To = new DeckPlace(null, DeckType.Discard);
                    MoveCards(move1);
                    PlayerLostCard(from, cards);
                }
                return;
            }
            CardsMovement move = new CardsMovement();
            move.Cards = new List<Card>(cards);
            move.To = new DeckPlace(to, DeckType.Hand);
            if (helper != null)
            {
                move.Helper = helper;
            }
            MoveCards(move);
            EnterAtomicContext();
            PlayerLostCard(from, cards);
            PlayerAcquiredCard(to, cards);
            ExitAtomicContext();
        }