Example #1
0
 protected override void DiscardCards(int count, GameViewModel currentState)
 {
     var discardPreference = new List<string> { "Estate", "Duchy", "Province", "Curse", "Colony", "Copper", "Silver", "Gold", "Platinum" };
     var orderedHand = currentState.Hand                
         .OrderBy(c => discardPreference.IndexOf(c.Name)).ToList();
     var cardIdsToDiscard = orderedHand.Take(count).Select(c => c.Id).ToArray();
     var discardAction = new SelectCardsMessage(_client.PlayerId, cardIdsToDiscard.ToArray());
     _client.AcceptMessage(discardAction);
 }
        public void Respond(IGameClient client, ActivityModel activity, GameViewModel state)
        {
            int count = activity.ParseNumberOfCardsToSelect();

            var ids = PrioritiseCards(state, activity)
                .Take(count)
                .Select(c => c.Id)
                .ToArray();
            
            var message = new SelectCardsMessage(client.PlayerId, ids);
            client.AcceptMessage(message);
        }