/************************************************************************************************************************/ /// <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); }
/************************************************************************************************************************/ /// <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); }
/************************************************************************************************************************/ /// <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); }