Exemplo n.º 1
0
 private void TriggerOtherEffects(IEncounterCard card)
 {
     foreach (var effect in card.Text.Effects.Where(x => x is IRevealedEffect && !(x is IWhenRevealedEffect)))
     {
         var handle = effect.GetHandle(Game);
         Game.TriggerEffect(handle);
     }
 }
Exemplo n.º 2
0
            private void PutEncounterCardOnBottomOfDeck(IGame game, IEffectHandle handle, IPlayer player, IExhaustableInPlay denethor, IEncounterCard encounterCard)
            {
                denethor.Exhaust();

                game.StagingArea.EncounterDeck.RemoveFromDeck(encounterCard);
                game.StagingArea.EncounterDeck.PutOnBottom(new List<IEncounterCard> { encounterCard });
                
                handle.Resolve(string.Format("{0} chose to put '{1}' on the bottom of the encounter deck", player.Name, encounterCard.Title));
            }
        public EncounterCardViewModel(Dispatcher dispatcher, IEncounterCard card)
            : base(dispatcher)
        {
            if (card == null)
                throw new ArgumentNullException("card");

            this.card = card;
            this.cardFrontImageSource = string.Format("pack://application:,,,/Images/{0}_{1}.jpg", card.CardSet, card.CardNumber);
        }
Exemplo n.º 4
0
        public EncounterCardViewModel(Dispatcher dispatcher, IEncounterCard card)
            : base(dispatcher)
        {
            if (card == null)
            {
                throw new ArgumentNullException("card");
            }

            this.card = card;
            this.cardFrontImageSource = string.Format("pack://application:,,,/Images/{0}_{1}.jpg", card.CardSet, card.CardNumber);
        }
Exemplo n.º 5
0
 private IEncounterInPlay GetRevealedEncounterCard(IEncounterCard card)
 {
     if (card is IEnemyCard)
     {
         return(new EnemyInPlay(Game, card as IEnemyCard));
     }
     else if (card is ILocationCard)
     {
         return(new LocationInPlay(Game, card as ILocationCard));
     }
     else if (card is IObjectiveCard)
     {
         return(new UnclaimedObjectiveInPlay(Game, card as IObjectiveCard));
     }
     else if (card is ITreacheryCard)
     {
         return(new TreacheryInPlay(Game, card as ITreacheryCard));
     }
     else
     {
         throw new ArgumentException("card is not a valid encounter card");
     }
 }
Exemplo n.º 6
0
        public void AddToStagingArea(IEncounterCard card)
        {
            if (card == null)
            {
                throw new ArgumentNullException("card");
            }

            IEncounterInPlay encounterInPlay = null;

            if (card is IEnemyCard)
            {
                encounterInPlay = new EnemyInPlay(Game, card as IEnemyCard);
            }
            else if (card is ILocationCard)
            {
                encounterInPlay = new LocationInPlay(Game, card as ILocationCard);
            }
            else if (card is IObjectiveCard)
            {
                encounterInPlay = new UnclaimedObjectiveInPlay(Game, card as IObjectiveCard);
            }

            AddToStagingArea(encounterInPlay);
        }
Exemplo n.º 7
0
            private void PutEncounterCardBackOnTopOfDeck(IGame game, IEffectHandle handle, IPlayer player, IExhaustableInPlay denethor, IEncounterCard encounterCard)
            {
                denethor.Exhaust();

                handle.Resolve(string.Format("{0} chose to put '{1}' back on the top of the encounter deck", player.Name, encounterCard.Title));
            }
Exemplo n.º 8
0
            private void PutEncounterCardBackOnTopOfDeck(IGame game, IEffectHandle handle, IPlayer player, IExhaustableInPlay denethor, IEncounterCard encounterCard)
            {
                denethor.Exhaust();

                handle.Resolve(string.Format("{0} chose to put '{1}' back on the top of the encounter deck", player.Name, encounterCard.Title));
            }
Exemplo n.º 9
0
 private IEncounterInPlay GetRevealedEncounterCard(IEncounterCard card)
 {
     if (card is IEnemyCard)
     {
         return new EnemyInPlay(Game, card as IEnemyCard);
     }
     else if (card is ILocationCard)
     {
         return new LocationInPlay(Game, card as ILocationCard);
     }
     else if (card is IObjectiveCard)
     {
         return new UnclaimedObjectiveInPlay(Game, card as IObjectiveCard);
     }
     else if (card is ITreacheryCard)
     {
         return new TreacheryInPlay(Game, card as ITreacheryCard);
     }
     else throw new ArgumentException("card is not a valid encounter card");
 }
Exemplo n.º 10
0
        public void AddToStagingArea(IEncounterCard card)
        {
            if (card == null)
                throw new ArgumentNullException("card");

            IEncounterInPlay encounterInPlay = null;

            if (card is IEnemyCard)
            {
                encounterInPlay = new EnemyInPlay(Game, card as IEnemyCard);
            }
            else if (card is ILocationCard)
            {
                encounterInPlay = new LocationInPlay(Game, card as ILocationCard);
            }
            else if (card is IObjectiveCard)
            {
                encounterInPlay = new UnclaimedObjectiveInPlay(Game, card as IObjectiveCard);
            }

            AddToStagingArea(encounterInPlay);
        }
Exemplo n.º 11
0
 public DoomedEffect(IEncounterCard source, byte doomed)
     : base(GetType(doomed), GetText(doomed), source)
 {
     this.Doomed = doomed;
 }
Exemplo n.º 12
0
 public SurgeEffect(IEncounterCard source)
     : base("Surge", "Reveal 1 additional card from the encounter deck", source)
 {
 }
Exemplo n.º 13
0
 public SurgeEffect(IEncounterCard source)
     : base("Surge", "Reveal 1 additional card from the encounter deck", source)
 {
 }
Exemplo n.º 14
0
 public void Put(IEncounterCard encounterCard)
 {
 }
Exemplo n.º 15
0
            private void PutEncounterCardOnBottomOfDeck(IGame game, IEffectHandle handle, IPlayer player, IExhaustableInPlay denethor, IEncounterCard encounterCard)
            {
                denethor.Exhaust();

                game.StagingArea.EncounterDeck.RemoveFromDeck(encounterCard);
                game.StagingArea.EncounterDeck.PutOnBottom(new List <IEncounterCard> {
                    encounterCard
                });

                handle.Resolve(string.Format("{0} chose to put '{1}' on the bottom of the encounter deck", player.Name, encounterCard.Title));
            }
Exemplo n.º 16
0
 public DoomedEffect(IEncounterCard source, byte doomed)
     : base(GetType(doomed), GetText(doomed), source)
 {
     this.Doomed = doomed;
 }
Exemplo n.º 17
0
 private void TriggerOtherEffects(IEncounterCard card)
 {
     foreach (var effect in card.Text.Effects.Where(x => x is IRevealedEffect  && !(x is IWhenRevealedEffect)))
     {
         var handle = effect.GetHandle(Game);
         Game.TriggerEffect(handle);
     }
 }