public override bool Triggered(AgricolaPlayer resolvingPlayer, AgricolaPlayer triggeringPlayer, GameEventTrigger trigger) { return(base.Triggered(resolvingPlayer, triggeringPlayer, trigger) && this.Type == ((TakeSoleCachedResourceTrigger)trigger).Type); }
/// <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); }
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); }