Beispiel #1
0
 public override bool Triggered(AgricolaPlayer resolvingPlayer, AgricolaPlayer triggeringPlayer, GameEventTrigger trigger)
 {
     return(base.Triggered(resolvingPlayer, triggeringPlayer, trigger) &&
            this.Type == ((TakeSoleCachedResourceTrigger)trigger).Type);
 }
Beispiel #2
0
 /// <summary>
 /// Checks if a trigger's conditions have been met
 /// </summary>
 /// <param name="resolvingPlayer"></param>
 /// <param name="trigger"></param>
 /// <returns></returns>
 public virtual bool Triggered(AgricolaPlayer resolvingPlayer, AgricolaPlayer triggeringPlayer, GameEventTrigger trigger)
 {
     return(this.GetType().Equals(trigger.GetType()) &&
            ((this.TriggerType == GameEventTriggerType.Self && resolvingPlayer == triggeringPlayer) ||
             (this.TriggerType == GameEventTriggerType.Other && resolvingPlayer != triggeringPlayer) ||
             (this.TriggerType == GameEventTriggerType.Any)));
 }
 public override bool Triggered(AgricolaPlayer resolvingPlayer, AgricolaPlayer triggeringPlayer, GameEventTrigger trigger)
 {
     return(base.Triggered(resolvingPlayer, triggeringPlayer, trigger) &&
            this.AnimalType == ((TakeAnimalActionTrigger)trigger).AnimalType);
 }
Beispiel #4
0
        public override bool Triggered(AgricolaPlayer resolvingPlayer, AgricolaPlayer triggeringPlayer, GameEventTrigger trigger)
        {
            if (!base.Triggered(resolvingPlayer, triggeringPlayer, trigger))
            {
                return(false);
            }

            var incomingTrigger = (ResourceConversionTrigger)trigger;
            var matches         = incomingTrigger.ResourcesConverted.Where(x => TriggerOnInputTypes.Contains(x.InType));

            if (TriggerOnCardIds.Count() > 0)
            {
                matches = matches.Where(x => TriggerOnCardIds.Contains(x.Id));
            }

            incomingTrigger.TriggeringResourcesConverted = matches.ToArray();
            return(matches.Count() > 0);
        }