UnityEditor.ModelImporterClipEditor.AddClip C# (CSharp) Method

AddClip() private method

private AddClip ( TakeInfo takeInfo ) : void
takeInfo TakeInfo
return void
        private void AddClip(TakeInfo takeInfo)
        {
            this.m_ClipAnimations.InsertArrayElementAtIndex(this.m_ClipAnimations.arraySize);
            AnimationClipInfoProperties animationClipInfoAtIndex = this.GetAnimationClipInfoAtIndex(this.m_ClipAnimations.arraySize - 1);
            animationClipInfoAtIndex.name = this.MakeUniqueClipName(takeInfo.defaultClipName, -1);
            this.SetupTakeNameAndFrames(animationClipInfoAtIndex, takeInfo);
            animationClipInfoAtIndex.wrapMode = 0;
            animationClipInfoAtIndex.loop = false;
            animationClipInfoAtIndex.orientationOffsetY = 0f;
            animationClipInfoAtIndex.level = 0f;
            animationClipInfoAtIndex.cycleOffset = 0f;
            animationClipInfoAtIndex.loopTime = false;
            animationClipInfoAtIndex.loopBlend = false;
            animationClipInfoAtIndex.loopBlendOrientation = false;
            animationClipInfoAtIndex.loopBlendPositionY = false;
            animationClipInfoAtIndex.loopBlendPositionXZ = false;
            animationClipInfoAtIndex.keepOriginalOrientation = false;
            animationClipInfoAtIndex.keepOriginalPositionY = true;
            animationClipInfoAtIndex.keepOriginalPositionXZ = false;
            animationClipInfoAtIndex.heightFromFeet = false;
            animationClipInfoAtIndex.mirror = false;
            animationClipInfoAtIndex.maskType = ClipAnimationMaskType.CreateFromThisModel;
            AvatarMask mask = new AvatarMask();
            string[] humanTransforms = null;
            SerializedObject serializedObject = animationClipInfoAtIndex.maskTypeProperty.serializedObject;
            ModelImporter targetObject = serializedObject.targetObject as ModelImporter;
            if ((this.animationType == ModelImporterAnimationType.Human) && !targetObject.isAssetOlderOr42)
            {
                humanTransforms = AvatarMaskUtility.GetAvatarHumanTransform(serializedObject, targetObject.transformPaths);
                if (humanTransforms == null)
                {
                    return;
                }
            }
            AvatarMaskUtility.UpdateTransformMask(mask, targetObject.transformPaths, humanTransforms);
            animationClipInfoAtIndex.MaskToClip(mask);
            animationClipInfoAtIndex.ClearEvents();
            animationClipInfoAtIndex.ClearCurves();
            UnityEngine.Object.DestroyImmediate(mask);
        }