public EditorCurveBinding[] GetAnimatorBindings(GameObject gameObject) { if (gameObject == null) { return(kEmptyArray); } Animator animator = gameObject.GetComponent <Animator>(); if (animator == null) { return(kEmptyArray); } AnimatorEntry entry = new AnimatorEntry() { animatorID = animator.GetInstanceID(), applyRootMotion = animator.applyRootMotion, humanoid = animator.isHuman }; EditorCurveBinding[] result = null; if (m_AnimatorCache.TryGetValue(entry, out result)) { return(result); } result = AnimationMode.GetAnimatorBindings(animator.gameObject); m_AnimatorCache[entry] = result; return(result); }