Ejemplo n.º 1
0
        /************************************************************************************************************************/

        /// <summary>[Animancer Extension]
        /// Calls <see cref="Gather(ICollection{AnimationClip}, AnimationClip)"/> for each clip gathered by
        /// <see cref="IAnimationClipSource.GetAnimationClips"/>.
        /// </summary>
        public static void GatherFromSource(this ICollection <AnimationClip> clips, IAnimationClipSource source)
        {
            if (source == null)
            {
                return;
            }

            var list = ObjectPool.AcquireList <AnimationClip>();

            source.GetAnimationClips(list);
            clips.Gather((IEnumerable <AnimationClip>)list);
            ObjectPool.Release(list);
        }
Ejemplo n.º 2
0
            /************************************************************************************************************************/

            /// <summary>
            /// Calls <see cref="Destroy(AnimationClip)"/> on all states gathered by
            /// <see cref="IAnimationClipSource.GetAnimationClips"/>.
            /// </summary>
            public void DestroyAll(IAnimationClipSource source)
            {
                if (source == null)
                {
                    return;
                }

                var clips = ObjectPool.AcquireList <AnimationClip>();

                source.GetAnimationClips(clips);
                DestroyAll(clips);
                ObjectPool.Release(clips);
            }
Ejemplo n.º 3
0
            /************************************************************************************************************************/

            /// <summary>
            /// Calls <see cref="Destroy(AnimationClip)"/> on all states gathered by
            /// <see cref="IAnimationClipSource.GetAnimationClips"/>.
            /// </summary>
            public void DestroyAll(IAnimationClipSource source)
            {
                if (source == null)
                {
                    return;
                }

                var clips = ObjectPool.AcquireList <AnimationClip>();

                for (int i = 0; i < clips.Count; i++)
                {
                    Destroy(clips[i]);
                }
                ObjectPool.Release(clips);
            }