public YuGiRectangle(string name, YuGiValue left, YuGiValue top, YuGiValue right, YuGiValue bottom)
 {
     Name = name;
     Children.Add(left);
     Children.Add(top);
     Children.Add(right);
     Children.Add(bottom);
 }
        /// <summary>
        /// Copies the value of another YuGiValue
        /// </summary>
        /// <param name="value">The YuGiValue that will be copied from</param>
        public override void CopyValues(YuGiNode value)
        {
            YuGiValue val = (YuGiValue)value;

            if (Length != val.Value.Length)
            {
                throw new ArgumentException("The given value has an different length!");
            }
            base.CopyValues(value);
            Value = val.Value; //overrides the children values by setting the value
        }
 public YuGiPoint(string name, YuGiValue x, YuGiValue y)
 {
     Name = name;
     Children.Add(x);
     Children.Add(y);
 }