public void DoGridSlicing(Vector2 size, Vector2 offset, Vector2 padding, int alignment, Vector2 pivot)
{
Rect[] rectArray = InternalSpriteUtility.GenerateGridSpriteRectangles(base.m_Texture, offset, size, padding);
bool flag = true;
if ((rectArray.Length > 0x3e8) && !EditorUtility.DisplayDialog("Creating multiple sprites", "Creating " + rectArray.Length + " sprites. \nThis can take up to several minutes.", "Ok", "Cancel"))
{
flag = false;
}
if (flag)
{
Undo.RegisterCompleteObjectUndo(this.m_RectsCache, "Grid Slicing");
this.m_RectsCache.ClearAll();
foreach (Rect rect in rectArray)
{
this.AddSprite(rect, alignment, pivot, this.defaultColliderAlphaCutoff, this.defaultColliderDetail);
}
this.selected = null;
this.textureIsDirty = true;
}
base.Repaint();
}