private void AddGainActivityForCost(TurnContext context, ICard source, CardCost cost) { if (context.CanGainOfCost(cost)) { var gainActivity = Activities.GainACardCostingExactlyX(context.Game.Log, context.ActivePlayer, cost, context.ActivePlayer.Discards, source); _activities.Add(gainActivity); } else { context.Game.Log.LogMessage("{0} could gain no card of appropriate cost", context.ActivePlayer); } }