public override void SetHorizontal(float x, float width)
{
if (!base.isVertical)
{
int num;
this.state.xOffset = x;
if (width != this.state.lastTotalSize)
{
this.state.RelativeToRealSizes((int) width);
this.state.lastTotalSize = (int) width;
for (num = 0; num < (this.state.realSizes.Length - 1); num++)
{
this.state.DoSplitter(num, num + 1, 0);
}
}
num = 0;
foreach (GUILayoutEntry entry in base.entries)
{
float f = this.state.realSizes[num];
entry.SetHorizontal(Mathf.Round(x), Mathf.Round(f));
x += f + base.spacing;
num++;
}
}
else
{
base.SetHorizontal(x, width);
}
}