private void SetupSelectedMeshColors()
{
int length = this.cloth.coefficients.Length;
Color[] colors = new Color[length * this.m_MeshVerticesPerSelectionVertex];
for (int i = 0; i < length; i++)
{
Color color;
bool flag = this.m_Selection[i];
if (this.m_RectSelecting)
{
RectSelectionMode rectSelectionMode = this.m_RectSelectionMode;
if (rectSelectionMode != RectSelectionMode.Replace)
{
if (rectSelectionMode == RectSelectionMode.Add)
{
goto Label_006C;
}
if (rectSelectionMode == RectSelectionMode.Substract)
{
goto Label_007C;
}
}
else
{
flag = this.m_RectSelection[i];
}
}
goto Label_0097;
Label_006C:
flag |= this.m_RectSelection[i];
goto Label_0097;
Label_007C:
flag = flag && !this.m_RectSelection[i];
Label_0097:
color = !flag ? Color.clear : s_SelectionColor;
for (int j = 0; j < this.m_MeshVerticesPerSelectionVertex; j++)
{
colors[(i * this.m_MeshVerticesPerSelectionVertex) + j] = color;
}
}
this.AssignColorsToMeshArray(colors, this.m_SelectedMesh);
}