internal override XElement CreateXml()
        {
            var xRoot = new XElement(XmlConstants.Brick);

            xRoot.SetAttributeValue(XmlConstants.Type, XmlConstants.XmlGlideToBrickType);

            var xElementY = YDestination.CreateXml();

            xElementY.SetAttributeValue(XmlConstants.Category, XmlConstants.YDestination);

            var xElementX = XDestination.CreateXml();

            xElementX.SetAttributeValue(XmlConstants.Category, XmlConstants.XDestination);

            var xElementDuration = DurationInSeconds.CreateXml();

            xElementDuration.SetAttributeValue(XmlConstants.Category, XmlConstants.DurationInSeconds);

            var xFormulalist = new XElement(XmlConstants.FormulaList);

            xFormulalist.Add(xElementY);
            xFormulalist.Add(xElementX);
            xFormulalist.Add(xElementDuration);

            xRoot.Add(xFormulalist);



            return(xRoot);
        }
 public override void LoadReference()
 {
     if (DurationInSeconds != null)
     {
         DurationInSeconds.LoadReference();
     }
     if (XDestination != null)
     {
         XDestination.LoadReference();
     }
     if (YDestination != null)
     {
         YDestination.LoadReference();
     }
 }
 public override int GetHashCode()
 {
     return(base.GetHashCode() ^ YDestination.GetHashCode()
            ^ XDestination.GetHashCode());
 }