public void Respond(IGameClient client, ActivityModel activity, GameViewModel state) { var pile = SelectPile(state); TalkSmack(pile, client); var message = new BuyCardMessage(client.PlayerId, pile.Id); client.AcceptMessage(message); }
public void Respond(IGameClient client, ActivityModel activity, GameViewModel state) { var idsToTrash = state.Hand.Where(c => c.Is<Curse>() || c.Is<Copper>() || c.Is<Estate>()) .Select(c => c.Id) .Take(activity.ParseNumberOfCardsToSelect()) .ToArray(); client.AcceptMessage(new SelectCardsMessage(client.PlayerId, idsToTrash)); }
public void Respond(IGameClient client, ActivityModel activity, GameViewModel state) { var options = activity.ParseOptions(); Choice choice = options.First(); if (options.Contains(Choice.Yes)) choice = Choice.Yes; client.AcceptMessage(new ChoiceMessage(client.PlayerId, choice.ToString())); }
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); }
public void Respond(IGameClient client, ActivityModel activity, GameViewModel state) { var action = state.Hand .Where(c => c.Is(CardType.Action)) .Where(c => AISupportedActions.All.Contains(c.Name)) .OrderByDescending(c => AISupportedActions.PlusActions.Contains(c.Name)) .ThenByDescending(c => c.Cost) .First(); var message = new PlayCardMessage(client.PlayerId, action.Id); client.AcceptMessage(message); }
public void Respond(IGameClient client, ActivityModel activity, GameViewModel state) { var pile = SelectPile(state, client); TalkSmack(pile, client); IGameActionMessage message = null; if (activity.ParseType() == ActivityType.DoBuys) { message = new BuyCardMessage(client.PlayerId, pile.Id); } else if (activity.ParseType() == ActivityType.SelectPile) { message = new ChooseAPileMessage(client.PlayerId, pile == null ? Guid.Empty : pile.Id); } client.AcceptMessage(message); }
public void Respond(IGameClient client, ActivityModel activity, GameViewModel state) { var message = new MoveToBuyStepMessage(client.PlayerId); client.AcceptMessage(message); }
public void Respond(IGameClient client, ActivityModel activity, GameViewModel state) { var selected = state.Revealed.First(); client.AcceptMessage(new SelectCardsMessage(client.PlayerId, new[] { selected.Id })); }
public void Respond(IGameClient client, ActivityModel activity, GameViewModel state) { var selected = state.Revealed.First(); client.AcceptMessage(new SelectCardsMessage(client.PlayerId, new[] { selected.Id })); }
public void Respond(IGameClient client, ActivityModel activity, GameViewModel state) { var message = new MoveToBuyStepMessage(client.PlayerId); client.AcceptMessage(message); }