Exemplo n.º 1
0
        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();
            }
        }
Exemplo n.º 2
0
 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.
     });
 }
Exemplo n.º 3
0
        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;
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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();
            }
        }
Exemplo n.º 6
0
 public static PlayerCard ToPlayerCard(this PlayerCardSlot playerCardSlot)
 {
     return(new PlayerCard {
         Card = playerCardSlot.Card
     });
 }