Пример #1
0
 public virtual void GetObjectData(SerializationInfo info, StreamingContext context)
 {
     info.AddValue("ID", ID);
     info.AddValue("ClassName", ClassName);
     info.AddValue("Visgroups", String.Join(",", Visgroups.Select(x => x.ToString(CultureInfo.InvariantCulture))));
     info.AddValue("AutoVisgroups", String.Join(",", AutoVisgroups.Select(x => x.ToString(CultureInfo.InvariantCulture))));
     info.AddValue("Colour", Colour.ToArgb());
     info.AddValue("Children", GetChildren().ToArray());
 }
Пример #2
0
        protected void PasteBase(MapObject o, IDGenerator generator, bool performUnclone = false)
        {
            Visgroups.Clear();
            AutoVisgroups.Clear();
            Children.Clear();

            if (performUnclone && o.ID != ID)
            {
                var parent = Parent;
                var setPar = Parent != null && Parent.Children.ContainsKey(ID) && Parent.Children[ID] == this;
                if (setPar)
                {
                    SetParent(null);
                }
                ID = o.ID;
                if (setPar)
                {
                    SetParent(parent);
                }
            }
            ClassName = o.ClassName;
            Visgroups.AddRange(o.Visgroups);
            AutoVisgroups.AddRange(o.AutoVisgroups);
            Parent           = o.Parent;
            Colour           = o.Colour;
            IsSelected       = o.IsSelected;
            IsCodeHidden     = o.IsCodeHidden;
            IsRenderHidden2D = o.IsRenderHidden2D;
            IsRenderHidden3D = o.IsRenderHidden3D;
            IsVisgroupHidden = o.IsVisgroupHidden;
            BoundingBox      = o.BoundingBox.Clone();
            MetaData         = o.MetaData.Clone();

            var children = o.GetChildren().Select(x => performUnclone ? x.Clone() : x.Copy(generator));

            foreach (var c in children)
            {
                c.SetParent(this);
            }
        }
Пример #3
0
 /// <summary>
 /// Returns true if this object is in the given auto visgroup.
 /// </summary>
 /// <param name="visgroup">The auto visgroup to check</param>
 /// <returns>True if this object is in the auto visgroup</returns>
 public bool IsInAutoVisgroup(int visgroup)
 {
     return(AutoVisgroups.Contains(visgroup));
 }