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); } }
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); }
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); }
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"); } }
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); }
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)); }
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)); }
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"); }
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); }
public DoomedEffect(IEncounterCard source, byte doomed) : base(GetType(doomed), GetText(doomed), source) { this.Doomed = doomed; }
public SurgeEffect(IEncounterCard source) : base("Surge", "Reveal 1 additional card from the encounter deck", source) { }
public SurgeEffect(IEncounterCard source) : base("Surge", "Reveal 1 additional card from the encounter deck", source) { }
public void Put(IEncounterCard encounterCard) { }
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 DoomedEffect(IEncounterCard source, byte doomed) : base(GetType(doomed), GetText(doomed), source) { this.Doomed = doomed; }
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); } }