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()); }
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); } }
/// <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)); }