public override void CalcWidth() { if (this.entries.Count == 0) { this.maxWidth = this.minWidth = (float)this.style.padding.horizontal; } else { int b1 = 0; int b2 = 0; this.m_ChildMinWidth = 0.0f; this.m_ChildMaxWidth = 0.0f; this.m_StretchableCountX = 0; bool flag = true; if (this.isVertical) { using (List <GUILayoutEntry> .Enumerator enumerator = this.entries.GetEnumerator()) { while (enumerator.MoveNext()) { GUILayoutEntry current = enumerator.Current; current.CalcWidth(); RectOffset margin = current.margin; if (current.style != GUILayoutUtility.spaceStyle) { if (!flag) { b1 = Mathf.Min(margin.left, b1); b2 = Mathf.Min(margin.right, b2); } else { b1 = margin.left; b2 = margin.right; flag = false; } this.m_ChildMinWidth = Mathf.Max(current.minWidth + (float)margin.horizontal, this.m_ChildMinWidth); this.m_ChildMaxWidth = Mathf.Max(current.maxWidth + (float)margin.horizontal, this.m_ChildMaxWidth); } this.m_StretchableCountX += current.stretchWidth; } } this.m_ChildMinWidth -= (float)(b1 + b2); this.m_ChildMaxWidth -= (float)(b1 + b2); } else { int num1 = 0; using (List <GUILayoutEntry> .Enumerator enumerator = this.entries.GetEnumerator()) { while (enumerator.MoveNext()) { GUILayoutEntry current = enumerator.Current; current.CalcWidth(); RectOffset margin = current.margin; if (current.style != GUILayoutUtility.spaceStyle) { int num2; if (!flag) { num2 = num1 <= margin.left ? margin.left : num1; } else { num2 = 0; flag = false; } this.m_ChildMinWidth += current.minWidth + this.spacing + (float)num2; this.m_ChildMaxWidth += current.maxWidth + this.spacing + (float)num2; num1 = margin.right; this.m_StretchableCountX += current.stretchWidth; } else { this.m_ChildMinWidth += current.minWidth; this.m_ChildMaxWidth += current.maxWidth; this.m_StretchableCountX += current.stretchWidth; } } } this.m_ChildMinWidth -= this.spacing; this.m_ChildMaxWidth -= this.spacing; if (this.entries.Count != 0) { b1 = this.entries[0].margin.left; b2 = num1; } else { b1 = b2 = 0; } } float num3; float num4; if (this.style != GUIStyle.none || this.m_UserSpecifiedWidth) { num3 = (float)Mathf.Max(this.style.padding.left, b1); num4 = (float)Mathf.Max(this.style.padding.right, b2); } else { this.m_Margin.left = b1; this.m_Margin.right = b2; num3 = num4 = 0.0f; } this.minWidth = Mathf.Max(this.minWidth, this.m_ChildMinWidth + num3 + num4); if ((double)this.maxWidth == 0.0) { this.stretchWidth += this.m_StretchableCountX + (!this.style.stretchWidth ? 0 : 1); this.maxWidth = this.m_ChildMaxWidth + num3 + num4; } else { this.stretchWidth = 0; } this.maxWidth = Mathf.Max(this.maxWidth, this.minWidth); if ((double)this.style.fixedWidth == 0.0) { return; } this.maxWidth = this.minWidth = this.style.fixedWidth; this.stretchWidth = 0; } }