public void InitNumRowsAndColumns(int itemCount, int maxNumRows)
{
this.m_Columns = (int) Mathf.Floor(((this.fixedWidth - this.leftMargin) - this.rightMargin) / (this.itemSize.x + this.minHorizontalSpacing));
this.m_Columns = Mathf.Max(this.m_Columns, 1);
this.m_HorizontalSpacing = 0f;
if (this.m_Columns > 1)
{
this.m_HorizontalSpacing = (this.fixedWidth - (((this.m_Columns * this.itemSize.x) + this.leftMargin) + this.rightMargin)) / ((float) (this.m_Columns - 1));
}
this.m_Rows = Mathf.Min(maxNumRows, (int) Mathf.Ceil(((float) itemCount) / ((float) this.m_Columns)));
this.m_Height = (((this.m_Rows * (this.itemSize.y + this.verticalSpacing)) - this.verticalSpacing) + this.topMargin) + this.bottomMargin;
}