protected void MuscleGUI()
{
bool flag = false;
this.HeaderGUI("Preview", "Per-Muscle Settings");
GUILayout.BeginVertical(styles.box, new GUILayoutOption[0]);
for (int i = 0; i < this.m_MuscleBodyGroupToggle.Length; i++)
{
Rect settingsRect = GetSettingsRect(GUILayoutUtility.GetRect((float) 10f, (float) 16f));
this.m_MuscleBodyGroupToggle[i] = GUI.Toggle(settingsRect, this.m_MuscleBodyGroupToggle[i], styles.muscleBodyGroup[i], EditorStyles.foldout);
if (this.m_MuscleBodyGroupToggle[i])
{
for (int j = 0; j < this.m_Muscles[i].Length; j++)
{
int index = this.m_Muscles[i][j];
if (((index != -1) && (this.m_MuscleMin[index] != null)) && (this.m_MuscleMax[index] != null))
{
bool flag2 = this.m_MuscleToggle[index];
Rect wholeWidthRect = GUILayoutUtility.GetRect(10f, !flag2 ? 16f : 32f);
settingsRect = GetSettingsRect(wholeWidthRect);
settingsRect.xMin += 15f;
settingsRect.height = 16f;
this.m_MuscleToggle[index] = GUI.Toggle(settingsRect, this.m_MuscleToggle[index], this.m_MuscleName[index], EditorStyles.foldout);
float num4 = PreviewSlider(wholeWidthRect, this.m_MuscleValue[index]);
if (this.m_MuscleValue[index] != num4)
{
Undo.RegisterCompleteObjectUndo(this, "Muscle preview");
this.m_FocusedMuscle = index;
this.m_MuscleValue[index] = num4;
flag |= base.gameObject != null;
}
if (flag2)
{
bool flag3 = false;
settingsRect.xMin += 15f;
settingsRect.y += 16f;
Rect position = settingsRect;
if (settingsRect.width > 160f)
{
Rect rect4 = settingsRect;
rect4.width = 38f;
EditorGUI.BeginChangeCheck();
this.m_MuscleMinEdit[index] = EditorGUI.FloatField(rect4, this.m_MuscleMinEdit[index]);
flag3 |= EditorGUI.EndChangeCheck();
rect4.x = settingsRect.xMax - 38f;
EditorGUI.BeginChangeCheck();
this.m_MuscleMaxEdit[index] = EditorGUI.FloatField(rect4, this.m_MuscleMaxEdit[index]);
flag3 |= EditorGUI.EndChangeCheck();
position.xMin += 43f;
position.xMax -= 43f;
}
EditorGUI.BeginChangeCheck();
EditorGUI.MinMaxSlider(position, ref this.m_MuscleMinEdit[index], ref this.m_MuscleMaxEdit[index], -180f, 180f);
if (flag3 | EditorGUI.EndChangeCheck())
{
this.m_MuscleMinEdit[index] = Mathf.Clamp(this.m_MuscleMinEdit[index], -180f, 0f);
this.m_MuscleMaxEdit[index] = Mathf.Clamp(this.m_MuscleMaxEdit[index], 0f, 180f);
flag |= this.UpdateMuscle(index, this.m_MuscleMinEdit[index], this.m_MuscleMaxEdit[index]);
}
}
}
}
}
}
GUILayout.EndVertical();
if (flag)
{
this.WritePose();
}
}