private void PlayRowModifierCard(PlayerCard playerCard, Player sender, Player opponent, GwintSlot slot) { Card card = playerCard.Card; switch (card.Effect) { case GwintEffect.Horn: if (!ValidateRowModifierCard(card, slot)) { throw new CommandException(); } ClearSlotEffect(sender, slot, card.Effect); var rowModifierSlot = new PlayerCardSlot { Card = card, Slot = slot }; sender.CardSlots.Add(rowModifierSlot); break; default: throw new CommandException(); } }
public static PlayerCardDto ToDto(this PlayerCardSlot playerCardSlot) { return(new PlayerCardDto { Id = playerCardSlot.Id, CardId = playerCardSlot.Card.Id, IsActive = true // HACK: This is to differentiate between the ids of PlayarCard and PlayerCardSlot. }); }
private void PlayUnsummonDummy(Player player, PlayerCard playerCard, GwintSlot slot, long?targetCardId) { Card card = playerCard.Card; if (!targetCardId.HasValue) { throw new CommandException(); } PlayerCardSlot cardSlot = GetUnsummonTargetSlot(player, slot, targetCardId.Value); player.HandCards.Add(cardSlot.ToPlayerCard()); cardSlot.Card = card; }
private void SpawnWeatherCard(PlayerCard playerCard, Player sender, Player opponent) { Card card = playerCard.Card; ClearSlotEffect(sender, GwintSlot.Weather, card.Effect); ClearSlotEffect(opponent, GwintSlot.Weather, card.Effect); var playerCardSlot = new PlayerCardSlot { Card = card, Slot = GwintSlot.Weather }; sender.CardSlots.Add(playerCardSlot); }
private void SpawnCreature(PlayerCard playerCard, Player sender, Player opponent, GwintSlot slot) { Card card = playerCard.Card; Player creaturePlayer = card.Types.HasFlag(GwintType.Spy) ? opponent : sender; switch (slot) { case GwintSlot.Melee: case GwintSlot.Ranged: case GwintSlot.Siege: var playerCardSlot = new PlayerCardSlot { Card = card, Slot = slot }; creaturePlayer.CardSlots.Add(playerCardSlot); break; default: throw new CommandException(); } }
public static PlayerCard ToPlayerCard(this PlayerCardSlot playerCardSlot) { return(new PlayerCard { Card = playerCardSlot.Card }); }