Example #1
0
 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);
        }
Example #5
0
 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();
 }