public MovementHelper(MovementHelper helper) { IsFakedMove = helper.IsFakedMove; WindowId = helper.WindowId; IsWuGu = helper.IsWuGu; PrivateDeckHeroTag = helper.PrivateDeckHeroTag; AlwaysShowLog = helper.AlwaysShowLog; }
public CardsMovement() { cards = new List<Card>(); helper = new MovementHelper(); }
public void InsertBeforeDeal(Player target, List<Card> list, MovementHelper helper = null) { CardsMovement move = new CardsMovement(); move.Cards = new List<Card>(list); move.Cards.Reverse(); move.To = new DeckPlace(null, DeckType.Dealing); if (helper != null) { move.Helper = helper; } MoveCards(move, true); if (target != null) { PlayerLostCard(target, list); } }
public void HandleCardTransferToHand(Player from, Player to, List<Card> cards, MovementHelper helper = null) { 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); PlayerLostCard(from, cards); PlayerAcquiredCard(to, cards); }
public void InsertAfterDeal(Player target, List<Card> list, MovementHelper helper = null) { CardsMovement move = new CardsMovement(); move.Cards = new List<Card>(list); move.To = new DeckPlace(null, DeckType.Dealing); move.Helper.IsFakedMove = true; if (helper != null) { move.Helper = helper; } MoveCards(move); if (target != null) { PlayerLostCard(target, list); } }
public void HandleCardTransferToHand(Player from, Player to, List<Card> cards, MovementHelper helper = null) { 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); GameDelays.Delay(GameDelayTypes.CardTransfer); EnterAtomicContext(); PlayerLostCard(from, cards); PlayerAcquiredCard(to, cards); ExitAtomicContext(); }
public void MoveCards(CardsMovement move, MovementHelper log, bool insertBefore = false) { List<CardsMovement> moves = new List<CardsMovement>(); moves.Add(move); List<MovementHelper> logs; if (log != null) { logs = new List<MovementHelper>(); logs.Add(log); } else { logs = null; } MoveCards(moves, logs, new List<bool>() {insertBefore}); }
public void InsertBeforeDeal(Player target, List<Card> list, MovementHelper helper = null) { CardsMovement move = new CardsMovement(); move.cards = new List<Card>(list); move.to = new DeckPlace(null, DeckType.Dealing); MoveCards(move, helper, true); if (target != null) { PlayerLostCard(target, list); } }
public void HandleCardTransferToHand(Player from, Player to, List<Card> cards, MovementHelper helper = null) { CardsMovement move; move.cards = new List<Card>(cards); move.to = new DeckPlace(to, DeckType.Hand); MoveCards(move, helper); PlayerLostCard(from, cards); PlayerAcquiredCard(to, cards); }