示例#1
0
        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);
        }