public override void Run(GameEvent gameEvent, GameEventArgs eventArgs) { if (!InnerTrigger.CheckConditions(gameEvent, eventArgs)) { return; } if (InnerTrigger.CanExecute(Owner, gameEvent, eventArgs)) { List <Card> cards = null; List <Player> players = null; if (((AskForConfirmation == null && !Skill.IsEnforced && !Skill.IsAwakening) || (AskForConfirmation == true)) && !Skill.AskForSkillUse()) { return; } if (!Skill.AskForSkillUse(verifier, out cards, out players, Prompt)) { return; } if (IsAutoNotify) { Skill.NotifySkillUse(players); } Execute(Owner, gameEvent, eventArgs, cards, players); Game.CurrentGame.NotificationProxy.NotifyActionComplete(); } }
/// <summary> /// Fires this instance. /// </summary> /// <returns></returns> /// <remarks></remarks> public IntegrationRequest Fire() { IntegrationRequest request = InnerTrigger.Fire(); if (request == null) { return(null); } InnerTrigger.IntegrationCompleted(); // reset inner trigger (timer) try { currentStatus = GetCurrentProjectStatus(); if (lastStatus == null) { lastStatus = currentStatus; if (TriggerFirstTime && currentStatus.BuildStatus == TriggerStatus) { return(request); } return(null); } if (currentStatus.LastBuildDate > lastStatus.LastBuildDate && currentStatus.BuildStatus == TriggerStatus) { return(request); } } catch (SocketException) { Log.Warning("Skipping Fire() because ServerUri " + ServerUri + " was not found."); } return(null); }
/// <summary> /// Fires this instance. /// </summary> /// <returns></returns> /// <remarks></remarks> public IntegrationRequest Fire() { DateTime now = dtProvider.Now; if (IsInFilterRange(now)) { return(null); } return(InnerTrigger.Fire()); }
/// <summary> /// Serializes the object to a <see cref="System.Xml.XmlElement" /> /// </summary> /// <returns></returns> public override System.Xml.XmlElement Serialize() { XmlDocument doc = new XmlDocument(); XmlElement root = doc.CreateElement(this.TypeName); //root.SetAttribute ("ccnetconfigType", string.Format ("{0}, {1}", this.GetType ().FullName, this.GetType ().Assembly.GetName ().Name)); root.SetAttribute("project", Util.CheckRequired(this, "project", this.Project)); if (this.ServerUri != null) { root.SetAttribute("serverUri", this.ServerUri.ToString()); } XmlElement ele = null; if (this.TriggerStatus.HasValue) { ele = doc.CreateElement("triggerStatus"); ele.InnerText = this.TriggerStatus.Value.ToString(); root.AppendChild(ele); } if (InnerTrigger != null) { ele = doc.CreateElement("innerTrigger"); ele.SetAttribute("type", InnerTrigger.TypeName); XmlElement tele = InnerTrigger.Serialize(); foreach (XmlAttribute attrib in tele.Attributes) { ele.SetAttribute(attrib.Name, attrib.InnerText); } foreach (XmlElement cele in tele.SelectNodes("./*")) { XmlElement nele = (XmlElement)doc.ImportNode(cele, true); ele.AppendChild(nele); } root.AppendChild(ele); } return(root); }
public override void Run(GameEvent gameEvent, GameEventArgs eventArgs) { if (!InnerTrigger.CheckConditions(gameEvent, eventArgs)) { return; } if (InnerTrigger.CanExecute(Owner, gameEvent, eventArgs)) { if (((AskForConfirmation == null && !Skill.IsEnforced && !Skill.IsAwakening) || (AskForConfirmation == true)) && !Skill.AskForSkillUse()) { return; } if (IsAutoNotify) { Skill.NotifySkillUse(new List <Player>()); } InnerTrigger.Execute(Owner, gameEvent, eventArgs); Game.CurrentGame.NotificationProxy.NotifyActionComplete(); } }
/// <summary> /// Integrations the completed. /// </summary> /// <remarks></remarks> public void IntegrationCompleted() { lastStatus = currentStatus; InnerTrigger.IntegrationCompleted(); }
/// <summary> /// Integrations the completed. /// </summary> /// <remarks></remarks> public void IntegrationCompleted() { InnerTrigger.IntegrationCompleted(); }