private void SelectionGUI()
{
ClothSkinningCoefficient[] coefficients = this.cloth.coefficients;
float maxDistance = 0f;
float useValue = 0f;
float collisionSphereDistance = 0f;
float num4 = 0f;
int num5 = 0;
bool flag = true;
for (int i = 0; i < this.m_Selection.Length; i++)
{
if (this.m_Selection[i])
{
if (flag)
{
maxDistance = coefficients[i].maxDistance;
useValue = (maxDistance >= float.MaxValue) ? ((float) 0) : ((float) 1);
collisionSphereDistance = coefficients[i].collisionSphereDistance;
num4 = (collisionSphereDistance >= float.MaxValue) ? ((float) 0) : ((float) 1);
flag = false;
}
if (coefficients[i].maxDistance != maxDistance)
{
maxDistance = -1f;
}
if (coefficients[i].collisionSphereDistance != collisionSphereDistance)
{
collisionSphereDistance = -1f;
}
if (useValue != ((coefficients[i].maxDistance >= float.MaxValue) ? ((float) 0) : ((float) 1)))
{
useValue = -1f;
}
if (num4 != ((coefficients[i].collisionSphereDistance >= float.MaxValue) ? ((float) 0) : ((float) 1)))
{
num4 = -1f;
}
num5++;
}
}
float num7 = this.CoefficientField(maxDistance, useValue, num5 > 0, DrawMode.MaxDistance);
if (num7 != maxDistance)
{
for (int j = 0; j < coefficients.Length; j++)
{
if (this.m_Selection[j])
{
coefficients[j].maxDistance = num7;
}
}
this.cloth.coefficients = coefficients;
this.SetupSelectionMeshColors();
Undo.RegisterCompleteObjectUndo(base.target, "Change Cloth Coefficients");
}
float num9 = this.CoefficientField(collisionSphereDistance, num4, num5 > 0, DrawMode.CollisionSphereDistance);
if (num9 != collisionSphereDistance)
{
for (int k = 0; k < coefficients.Length; k++)
{
if (this.m_Selection[k])
{
coefficients[k].collisionSphereDistance = num9;
}
}
this.cloth.coefficients = coefficients;
this.SetupSelectionMeshColors();
Undo.RegisterCompleteObjectUndo(base.target, "Change Cloth Coefficients");
}
using (new EditorGUI.DisabledScope(true))
{
GUILayout.BeginHorizontal(new GUILayoutOption[0]);
if (num5 > 0)
{
GUILayout.FlexibleSpace();
GUILayout.Label(num5 + " selected", new GUILayoutOption[0]);
}
else
{
GUILayout.Label("Select cloth vertices to edit their constraints.", new GUILayoutOption[0]);
GUILayout.FlexibleSpace();
}
GUILayout.EndHorizontal();
}
if ((Event.current.type == EventType.KeyDown) && (Event.current.keyCode == KeyCode.Backspace))
{
for (int m = 0; m < coefficients.Length; m++)
{
if (this.m_Selection[m])
{
switch (this.drawMode)
{
case DrawMode.MaxDistance:
coefficients[m].maxDistance = float.MaxValue;
break;
case DrawMode.CollisionSphereDistance:
goto Label_0304;
}
}
continue;
Label_0304:
coefficients[m].collisionSphereDistance = float.MaxValue;
}
this.cloth.coefficients = coefficients;
this.SetupSelectionMeshColors();
}
}