public bool IsSameLayout(SceneLayoutData other)
        {
            if (LayoutId != other.LayoutId)
            {
                return(false);
            }
            if (lightingId != other.lightingId || musicTrackId != other.musicTrackId)
            {
                return(false);
            }
            if (layout.Count != other.layout.Count)
            {
                return(false);
            }
            LayoutEnumerator layoutEnumerator = GetLayoutEnumerator();

            foreach (DecorationLayoutData item in layoutEnumerator)
            {
                ParentedSet <string, DecorationLayoutData> parentedSet = other.layout;
                DecorationLayoutData.ID id = item.Id;
                if (!parentedSet.ContainsKey(id.GetFullPath()))
                {
                    return(false);
                }
                ParentedSet <string, DecorationLayoutData> parentedSet2 = other.layout;
                id = item.Id;
                DecorationLayoutData other2 = parentedSet2.Get(id.GetFullPath());
                if (!item.Equals(other2))
                {
                    return(false);
                }
            }
            return(true);
        }
 private void setLayout(List <DecorationLayoutData> layout)
 {
     this.layout = new ParentedSet <string, DecorationLayoutData>();
     for (int i = 0; i < layout.Count; i++)
     {
         this.layout.Add(layout[i].Id.ParentPath, layout[i].Id.GetFullPath(), layout[i]);
     }
 }
 public OrderedLayoutEnumeratorImpl(ParentedSet <string, DecorationLayoutData> layout, string elementKey)
     : this(layout)
 {
     this.elementKey = elementKey;
 }
 public OrderedLayoutEnumeratorImpl(ParentedSet <string, DecorationLayoutData> layout)
 {
     this.layout = layout;
 }