public virtual EffectBase Clone() { var result = MemberwiseClone() as EffectBase; result.Layer = null; result.PropertyChanged = (_, __) => { }; result.VisibleFor = VisibleFor.Clone(); return(result); }
public virtual LayerBase Clone() { var result = MemberwiseClone() as LayerBase; result.PropertyChanged = (_, __) => { }; result.TreeViewItem = null; result.VisibleFor = VisibleFor.Clone(); result.Effects = new ObservableCollection <EffectBase>(); result.Effects.CollectionChanged += result.updateEffectLayer; foreach (var e in Effects) { result.Effects.Add(e.Clone()); } return(result); }