Exemplo n.º 1
0
        public virtual bool CanRespond(ActivityModel activity, GameViewModel state)
        {
            var activityType = activity.ParseType();

            return(activityType == ActivityType.DoBuys ||
                   activityType == ActivityType.SelectPile);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
        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);
        }
Exemplo n.º 5
0
        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);
        }
Exemplo n.º 6
0
 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;
 }
Exemplo n.º 9
0
 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;
 }
Exemplo n.º 11
0
 public virtual bool CanRespond(ActivityModel activity, GameViewModel state)
 {
     return(activity.ParseType() == ActivityType.SelectUpToNumberOfCards &&
            activity.ParseHint() == ActivityHint.TrashCards);
 }
Exemplo n.º 12
0
 public bool CanRespond(ActivityModel activity, GameViewModel state)
 {
     return activity.ParseType() == ActivityType.PlayActions;
 }
Exemplo n.º 13
0
 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;
 }
Exemplo n.º 15
0
 public virtual bool CanRespond(ActivityModel activity, GameViewModel state)
 {
     return(activity.ParseType() == ActivityType.MakeChoice);
 }
Exemplo n.º 16
0
 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"]));
 }
Exemplo n.º 17
0
 public bool CanRespond(ActivityModel activity, GameViewModel state)
 {
     return(activity.ParseType() == ActivityType.PlayActions);
 }
Exemplo n.º 18
0
 public virtual bool CanRespond(ActivityModel activity, GameViewModel state)
 {
     var activityType = activity.ParseType();
     return activityType == ActivityType.DoBuys 
         || activityType == ActivityType.SelectPile;
 }
Exemplo n.º 19
0
 public bool CanRespond(ActivityModel activity, GameViewModel state)
 {
     return(activity.ParseType() == ActivityType.PlayActions &&
            state.Hand.Select(c => c.Name).Intersect(AISupportedActions.All).Any());
 }
Exemplo n.º 20
0
 public bool CanRespond(ActivityModel activity, GameViewModel state)
 {
     return activity.ParseType() == ActivityType.PlayActions &&
            state.Hand.Select(c => c.Name).Intersect(AISupportedActions.All).Any();
 }