void ShowAnimatorController() { _controller = (RuntimeAnimatorController)CreateObjectField("animator", _controller, typeof(RuntimeAnimatorController)); if (null != _controller) { EditorGUILayout.BeginHorizontal(); CreateLabel("clip"); CreateLabel("duration"); CreateLabel("isloop"); EditorGUILayout.EndHorizontal(); if (_controller.GetType() == typeof(UnityEditor.Animations.AnimatorController)) { UnityEditor.Animations.AnimatorController controller = _controller as UnityEditor.Animations.AnimatorController; #if UNITY_4_6 ShowAnimatorControllerLayer(controller.GetLayer(0)); #endif #if UNITY_5 ShowAnimatorControllerLayer(controller.layers[0]); #endif } else if (_controller.GetType() == typeof(AnimatorOverrideController)) { AnimatorOverrideController overrideController = _controller as AnimatorOverrideController; // AnimationClipPair[] clips = (AnimationClipPair[])_controller.GetType().BaseType.GetProperty("clips").GetValue(_controller, null); //ShowAnimatorOverrideControllerClips(overrideController.clips); } } }