Esempio n. 1
0
        /// <summary>
        /// Clone a SpriteAnimationClip.
        /// </summary>
        /// <param name="source">Clip source.</param>
        /// <param name="init">Is need init the clone instance.</param>
        /// <returns>The clone instance.</returns>
        public static SpriteAnimationClip Duplicate(SpriteAnimationClip source, bool init)
        {
            SpriteAnimationClip ret = ScriptableObject.CreateInstance <SpriteAnimationClip>();

            ret.name = source.name;
            ret.dataFormatVersion = source.dataFormatVersion;

            ret.frameRate = source.frameRate;
            ret.wrapMode  = source.wrapMode;

            ret.events = source.events;

            ret.root      = SpriteAnimationComponent.Duplicate(source.root);
            ret.root.clip = ret;

            ret.subComponents = new SpriteAnimationComponent[source.subComponents.Length];
            foreach (SpriteAnimationComponent comp in source.subComponents)
            {
                SpriteAnimationComponent tmpComp = SpriteAnimationComponent.Duplicate(comp);

                tmpComp.clip = ret;
                ret.subComponents[tmpComp.index] = tmpComp;
            }

            if (init)
            {
                ret.Init(false);
            }

            return(ret);
        }
 /// <summary>
 /// Recalculate all curves in SpriteAnimationCLip. Usually use in editor script when you modify keyframe data.
 /// </summary>
 public static void RecalcCurve(SpriteAnimationClip clip)
 {
     clip.Init( true );
 }
Esempio n. 3
0
 /// <summary>
 /// Recalculate all curves in SpriteAnimationCLip. Usually use in editor script when you modify keyframe data.
 /// </summary>
 public static void RecalcCurve(SpriteAnimationClip clip)
 {
     clip.Init();
     clip.CalcCurve();
 }