GenerateTransformCurveBindingArray() private static method

private static GenerateTransformCurveBindingArray ( string path, string property, System type, int count ) : UnityEditor.EditorCurveBinding[]
path string
property string
type System
count int
return UnityEditor.EditorCurveBinding[]
示例#1
0
 public static EditorCurveBinding[] RemapAnimationBindingForAddKey(EditorCurveBinding binding, AnimationClip clip)
 {
     if (!AnimationWindowUtility.IsTransformType(binding.type))
     {
         return(null);
     }
     if (binding.propertyName.StartsWith("m_LocalPosition."))
     {
         if (binding.type == typeof(Transform))
         {
             return(RotationCurveInterpolation.GenerateTransformCurveBindingArray(binding.path, "m_LocalPosition.", binding.type, 3));
         }
         return(null);
     }
     else
     {
         if (binding.propertyName.StartsWith("m_LocalScale."))
         {
             return(RotationCurveInterpolation.GenerateTransformCurveBindingArray(binding.path, "m_LocalScale.", binding.type, 3));
         }
         if (binding.propertyName.StartsWith("m_LocalRotation"))
         {
             return(RotationCurveInterpolation.SelectRotationBindingForAddKey(binding, clip));
         }
         return(null);
     }
 }
示例#2
0
 public static EditorCurveBinding[] RemapAnimationBindingForAddKey(EditorCurveBinding binding, AnimationClip clip)
 {
     if (!AnimationWindowUtility.IsTransformType(binding.type))
     {
         return(null);
     }
     if (binding.propertyName.StartsWith("m_LocalPosition."))
     {
         if (binding.type == typeof(Transform))
         {
             return(RotationCurveInterpolation.GenerateTransformCurveBindingArray(binding.path, "m_LocalPosition.", binding.type, 3));
         }
         return(null);
     }
     else
     {
         if (binding.propertyName.StartsWith("m_LocalScale."))
         {
             return(RotationCurveInterpolation.GenerateTransformCurveBindingArray(binding.path, "m_LocalScale.", binding.type, 3));
         }
         if (!binding.propertyName.StartsWith("m_LocalRotation"))
         {
             return(null);
         }
         EditorCurveBinding binding2 = binding;
         binding2.propertyName = "localEulerAngles.x";
         if (AnimationUtility.GetEditorCurve(clip, binding2) != null)
         {
             return(RotationCurveInterpolation.GenerateTransformCurveBindingArray(binding.path, "localEulerAngles.", binding.type, 3));
         }
         return(RotationCurveInterpolation.GenerateTransformCurveBindingArray(binding.path, "localEulerAnglesBaked.", binding.type, 3));
     }
 }
        private static EditorCurveBinding[] SelectRotationBindingForAddKey(EditorCurveBinding binding, AnimationClip clip)
        {
            EditorCurveBinding binding2 = binding;

            binding2.propertyName = "localEulerAnglesBaked.x";
            EditorCurveBinding[] result;
            if (AnimationUtility.GetEditorCurve(clip, binding2) != null)
            {
                result = RotationCurveInterpolation.GenerateTransformCurveBindingArray(binding.path, "localEulerAnglesBaked.", binding.type, 3);
            }
            else
            {
                binding2.propertyName = "localEulerAngles.x";
                if (AnimationUtility.GetEditorCurve(clip, binding2) != null)
                {
                    result = RotationCurveInterpolation.GenerateTransformCurveBindingArray(binding.path, "localEulerAngles.", binding.type, 3);
                }
                else
                {
                    binding2.propertyName = "localEulerAnglesRaw.x";
                    if (clip.legacy && AnimationUtility.GetEditorCurve(clip, binding2) == null)
                    {
                        result = RotationCurveInterpolation.GenerateTransformCurveBindingArray(binding.path, "localEulerAnglesBaked.", binding.type, 3);
                    }
                    else
                    {
                        result = RotationCurveInterpolation.GenerateTransformCurveBindingArray(binding.path, "localEulerAnglesRaw.", binding.type, 3);
                    }
                }
            }
            return(result);
        }