Example #1
0
        public override string ToString()
        {
            string output = "";

            if (TriggeringEvent == YawTrackerOrientationEvent.Yaw0)
            {
                output += YawTracker.S_Yaw0;
            }
            else if (TriggeringEvent == YawTrackerOrientationEvent.Yaw180)
            {
                output += YawTracker.S_Yaw180;
            }
            else if (TriggeringEvent == YawTrackerOrientationEvent.Yaw0Yaw180)
            {
                output += YawTracker.S_Yaw0Yaw180;
            }
            else if (TriggeringEvent == YawTrackerOrientationEvent.ResetPosition)
            {
                output += YawTracker.S_ResetPosition;
            }

            output += (FireLimitPerReset > 0) ? $" (max {FireLimitPerReset.ToString()})" : "";
            output += RotCondition?.ToString() ?? "";

            return(output);
        }
Example #2
0
 public XElement GetXml()
 {
     return(new XElement("Trigger",
                         new XElement("TriggeringEvent", TriggeringEvent.ToString()),
                         new XElement("FireLimitPerZero", FireLimitPerReset),
                         RotCondition.GetXml()
                         ));
 }
Example #3
0
        public void LoadFromXml(XElement xTrackerTrigger)
        {
            if (xTrackerTrigger != null)
            {
                if (Enum.TryParse(xTrackerTrigger.GetElementValueTrimmed("TriggeringEvent"), out YawTrackerOrientationEvent trig))
                {
                    TriggeringEvent = trig;
                }
                else
                {
                    TriggeringEvent = YawTrackerOrientationEvent.Yaw0;
                }

                FireLimitPerReset = (uint)xTrackerTrigger.GetElementValueInt("FireLimitPerZero");

                RotCondition.LoadFromXml(xTrackerTrigger.Element("RotationCondition"));
            }
        }
Example #4
0
        protected bool ConditionsAreTrue(RotationEventArgs e)
        {
            if (FireLimitPerReset > 0 && FireCountSinceLastResetPos >= FireLimitPerReset)
            {
                return(false);
            }

            if (RotCondition != null)
            {
                if (RotCondition.IsTrue(e) == false)
                {
                    return(false);
                }
            }

            // further conditions...

            return(true);
        }
Example #5
0
 public void Delete()
 {
     RotCondition.Delete();
     Enabled = false;
 }