public override void CalcHeight()
{
if (this.entries.Count == 0)
{
this.maxHeight = this.minHeight = (float)this.style.padding.vertical;
}
else
{
int b1 = 0;
int b2 = 0;
this.m_ChildMinHeight = 0.0f;
this.m_ChildMaxHeight = 0.0f;
this.m_StretchableCountY = 0;
if (this.isVertical)
{
int a = 0;
bool flag = true;
using (List <GUILayoutEntry> .Enumerator enumerator = this.entries.GetEnumerator())
{
while (enumerator.MoveNext())
{
GUILayoutEntry current = enumerator.Current;
current.CalcHeight();
RectOffset margin = current.margin;
if (current.style != GUILayoutUtility.spaceStyle)
{
int num;
if (!flag)
{
num = Mathf.Max(a, margin.top);
}
else
{
num = 0;
flag = false;
}
this.m_ChildMinHeight += current.minHeight + this.spacing + (float)num;
this.m_ChildMaxHeight += current.maxHeight + this.spacing + (float)num;
a = margin.bottom;
this.m_StretchableCountY += current.stretchHeight;
}
else
{
this.m_ChildMinHeight += current.minHeight;
this.m_ChildMaxHeight += current.maxHeight;
this.m_StretchableCountY += current.stretchHeight;
}
}
}
this.m_ChildMinHeight -= this.spacing;
this.m_ChildMaxHeight -= this.spacing;
if (this.entries.Count != 0)
{
b1 = this.entries[0].margin.top;
b2 = a;
}
else
{
b2 = b1 = 0;
}
}
else
{
bool flag = true;
using (List <GUILayoutEntry> .Enumerator enumerator = this.entries.GetEnumerator())
{
while (enumerator.MoveNext())
{
GUILayoutEntry current = enumerator.Current;
current.CalcHeight();
RectOffset margin = current.margin;
if (current.style != GUILayoutUtility.spaceStyle)
{
if (!flag)
{
b1 = Mathf.Min(margin.top, b1);
b2 = Mathf.Min(margin.bottom, b2);
}
else
{
b1 = margin.top;
b2 = margin.bottom;
flag = false;
}
this.m_ChildMinHeight = Mathf.Max(current.minHeight, this.m_ChildMinHeight);
this.m_ChildMaxHeight = Mathf.Max(current.maxHeight, this.m_ChildMaxHeight);
}
this.m_StretchableCountY += current.stretchHeight;
}
}
}
float num1;
float num2;
if (this.style != GUIStyle.none || this.m_UserSpecifiedHeight)
{
num1 = (float)Mathf.Max(this.style.padding.top, b1);
num2 = (float)Mathf.Max(this.style.padding.bottom, b2);
}
else
{
this.m_Margin.top = b1;
this.m_Margin.bottom = b2;
num1 = num2 = 0.0f;
}
this.minHeight = Mathf.Max(this.minHeight, this.m_ChildMinHeight + num1 + num2);
if ((double)this.maxHeight == 0.0)
{
this.stretchHeight += this.m_StretchableCountY + (!this.style.stretchHeight ? 0 : 1);
this.maxHeight = this.m_ChildMaxHeight + num1 + num2;
}
else
{
this.stretchHeight = 0;
}
this.maxHeight = Mathf.Max(this.maxHeight, this.minHeight);
if ((double)this.style.fixedHeight == 0.0)
{
return;
}
this.maxHeight = this.minHeight = this.style.fixedHeight;
this.stretchHeight = 0;
}
}