public override void OnInspectorGUI()
{
bool flag = base.targets.Length > 1;
bool flag2 = false;
bool flag3 = false;
Animator target = base.target as Animator;
base.serializedObject.UpdateIfDirtyOrScript();
this.UpdateShowOptions();
EditorGUI.BeginChangeCheck();
RuntimeAnimatorController controller = EditorGUILayout.ObjectField("Controller", target.runtimeAnimatorController, typeof(RuntimeAnimatorController), false, new GUILayoutOption[0]) as RuntimeAnimatorController;
if (EditorGUI.EndChangeCheck())
{
foreach (Animator animator2 in base.targets)
{
Undo.RecordObject(animator2, "Changed AnimatorController");
animator2.runtimeAnimatorController = controller;
}
AnimationWindowUtility.ControllerChanged();
}
EditorGUILayout.PropertyField(this.m_Avatar, new GUILayoutOption[0]);
if (target.supportsOnAnimatorMove && !flag)
{
EditorGUILayout.LabelField("Apply Root Motion", "Handled by Script", new GUILayoutOption[0]);
}
else
{
EditorGUILayout.PropertyField(this.m_ApplyRootMotion, styles.applyRootMotion, new GUILayoutOption[0]);
if (Event.current.type == EventType.Layout)
{
this.m_IsRootPositionOrRotationControlledByCurves = target.isRootPositionOrRotationControlledByCurves;
}
if (!this.m_ApplyRootMotion.boolValue && this.m_IsRootPositionOrRotationControlledByCurves)
{
EditorGUILayout.HelpBox("Root position or rotation are controlled by curves", MessageType.Info, true);
}
}
EditorGUI.BeginChangeCheck();
EditorGUILayout.PropertyField(this.m_UpdateMode, styles.updateMode, new GUILayoutOption[0]);
flag3 = EditorGUI.EndChangeCheck();
EditorGUI.BeginChangeCheck();
EditorGUILayout.PropertyField(this.m_CullingMode, styles.cullingMode, new GUILayoutOption[0]);
flag2 = EditorGUI.EndChangeCheck();
if (!flag)
{
EditorGUILayout.HelpBox(target.GetStats(), MessageType.Info, true);
}
if (EditorGUILayout.BeginFadeGroup(this.m_ShowWarningMessage.faded))
{
EditorGUILayout.HelpBox(this.WarningMessage, MessageType.Warning, true);
}
EditorGUILayout.EndFadeGroup();
base.serializedObject.ApplyModifiedProperties();
foreach (Animator animator3 in base.targets)
{
if (flag2)
{
animator3.OnCullingModeChanged();
}
if (flag3)
{
animator3.OnUpdateModeChanged();
}
}
}