public virtual bool CanRespond(ActivityModel activity, GameViewModel state) { var activityType = activity.ParseType(); return(activityType == ActivityType.DoBuys || activityType == ActivityType.SelectPile); }
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); }
protected override void HandleActivity(ActivityModel activity, GameViewModel state) { if (activity.ParseType() == ActivityType.WaitingForOtherPlayers) return; var behaviour = Behaviours.FirstOrDefault(b => b.CanRespond(activity, state)); if(behaviour == null) throw new NoBehaviourException(activity); behaviour.Respond(_client, activity, state); }
protected override void HandleActivity(ActivityModel activity, GameViewModel state) { if (activity.ParseType() == ActivityType.WaitingForOtherPlayers) { return; } var behaviour = Behaviours.FirstOrDefault(b => b.CanRespond(activity, state)); if (behaviour == null) { throw new NoBehaviourException(activity); } behaviour.Respond(_client, activity, state); }
public bool CanRespond(ActivityModel activity, GameViewModel state) { return(activity.ParseType() == ActivityType.SelectFromRevealed); }
public virtual bool CanRespond(ActivityModel activity, GameViewModel state) { return activity.ParseType() == ActivityType.MakeChoice; }
public bool CanRespond(ActivityModel activity, GameViewModel state) { return activity.ParseType() == ActivityType.SelectFromRevealed; }
public override bool CanRespond(ActivityModel activity, GameViewModel state) { return(base.CanRespond(activity, state) && (GetValidBuys(state).Any(pile => AISupportedActions.All.Contains(pile.Name)) || (activity.ParseType() == ActivityType.SelectPile && (bool)activity.Properties["IsOptional"]))); }
public virtual bool CanRespond(ActivityModel activity, GameViewModel state) { return activity.ParseType() == ActivityType.SelectFixedNumberOfCards; }
public virtual bool CanRespond(ActivityModel activity, GameViewModel state) { return(activity.ParseType() == ActivityType.SelectUpToNumberOfCards && activity.ParseHint() == ActivityHint.TrashCards); }
public bool CanRespond(ActivityModel activity, GameViewModel state) { return activity.ParseType() == ActivityType.PlayActions; }
public virtual bool CanRespond(ActivityModel activity, GameViewModel state) { return(activity.ParseType() == ActivityType.SelectFixedNumberOfCards); }
public virtual bool CanRespond(ActivityModel activity, GameViewModel state) { return activity.ParseType() == ActivityType.SelectUpToNumberOfCards && activity.ParseHint() == ActivityHint.TrashCards; }
public virtual bool CanRespond(ActivityModel activity, GameViewModel state) { return(activity.ParseType() == ActivityType.MakeChoice); }
public override bool CanRespond(ActivityModel activity, GameViewModel state) { return base.CanRespond(activity, state) && (GetValidBuys(state).Any(pile => AISupportedActions.All.Contains(pile.Name)) || (activity.ParseType() == ActivityType.SelectPile && (bool)activity.Properties["IsOptional"])); }
public bool CanRespond(ActivityModel activity, GameViewModel state) { return(activity.ParseType() == ActivityType.PlayActions); }
public virtual bool CanRespond(ActivityModel activity, GameViewModel state) { var activityType = activity.ParseType(); return activityType == ActivityType.DoBuys || activityType == ActivityType.SelectPile; }
public bool CanRespond(ActivityModel activity, GameViewModel state) { return(activity.ParseType() == ActivityType.PlayActions && state.Hand.Select(c => c.Name).Intersect(AISupportedActions.All).Any()); }
public bool CanRespond(ActivityModel activity, GameViewModel state) { return activity.ParseType() == ActivityType.PlayActions && state.Hand.Select(c => c.Name).Intersect(AISupportedActions.All).Any(); }