protected virtual void ResolveEffect(IGame game, IEffectHandle handle, string paymentText)
 {
     if (costlyCard != null)
     {
         handle.Resolve(string.Format("{0} chose to pay {1} to play '{2}' from their hand", player.Name, paymentText, costlyCard.Title));
     }
     else
     {
         handle.Resolve(string.Format("{0} chose to pay {1} to trigger '{2}'", player.Name, paymentText, cardEffect.ToString()));
     }
 }
        private void TriggerEffect(IGame game, IEffectHandle handle, ICardEffect cardEffect)
        {
            game.AddEffect(cardEffect);
            var playEffectHandle = cardEffect.GetHandle(game);

            game.TriggerEffect(playEffectHandle);
            handle.Resolve(string.Format("{0} triggered {1}", player.Name, cardEffect.ToString()));
        }
 private void TriggerEffect(IGame game, IEffectHandle handle, ICardEffect cardEffect)
 {
     game.AddEffect(cardEffect);
     var playEffectHandle = cardEffect.GetHandle(game);
     game.TriggerEffect(playEffectHandle);
     handle.Resolve(string.Format("{0} triggered {1}", player.Name, cardEffect.ToString()));
 }