void SetupGrid(float availableWidth, int itemCount, PresetLibraryEditorState.ItemViewMode presetsViewMode)
{
m_Grid.useFixedHorizontalSpacing = useOnePixelOverlappedGrid;
m_Grid.fixedHorizontalSpacing = useOnePixelOverlappedGrid ? -1 : 0;
switch (presetsViewMode)
{
case PresetLibraryEditorState.ItemViewMode.Grid:
m_Grid.fixedWidth = availableWidth;
m_Grid.topMargin = marginsForGrid.top;
m_Grid.bottomMargin = marginsForGrid.bottom;
m_Grid.leftMargin = marginsForGrid.left;
m_Grid.rightMargin = marginsForGrid.right;
m_Grid.verticalSpacing = useOnePixelOverlappedGrid ? -1 : lineSpacing;
m_Grid.minHorizontalSpacing = 8f;
m_Grid.itemSize = presetSize; // no text
m_Grid.InitNumRowsAndColumns(itemCount, int.MaxValue);
break;
case PresetLibraryEditorState.ItemViewMode.List:
m_Grid.fixedWidth = availableWidth;
m_Grid.topMargin = marginsForList.top;
m_Grid.bottomMargin = marginsForList.bottom;
m_Grid.leftMargin = marginsForList.left;
m_Grid.rightMargin = marginsForList.right;
m_Grid.verticalSpacing = lineSpacing;
m_Grid.minHorizontalSpacing = 0f;
m_Grid.itemSize = new Vector2(availableWidth - m_Grid.leftMargin, presetSize.y);
m_Grid.InitNumRowsAndColumns(itemCount, int.MaxValue);
break;
}
}