/// <summary> /// Calls <see cref="Destroy(AnimationClip)"/> on all states gathered by /// <see cref="IAnimationClipCollection.GatherAnimationClips"/>. /// </summary> public void DestroyAll(IAnimationClipCollection source) { if (source == null) { return; } var clips = ObjectPool.AcquireSet <AnimationClip>(); source.GatherAnimationClips(clips); DestroyAll(clips); ObjectPool.Release(clips); }
/// <summary> /// Calls <see cref="Destroy(AnimationClip)"/> on all states gathered by /// <see cref="IAnimationClipCollection.GatherAnimationClips"/>. /// </summary> public void DestroyAll(IAnimationClipCollection source) { if (source == null) { return; } var clips = ObjectPool.AcquireSet <AnimationClip>(); foreach (var clip in clips) { Destroy(clip); } ObjectPool.Release(clips); }
/************************************************************************************************************************/ /// <summary> /// Checks if any <see cref="AnimationClip"/> in the `source` has an animation event with the specified /// `functionName`. /// </summary> public static bool HasEvent(IAnimationClipCollection source, string functionName) { var clips = ObjectPool.AcquireSet <AnimationClip>(); source.GatherAnimationClips(clips); foreach (var clip in clips) { if (HasEvent(clip, functionName)) { ObjectPool.Release(clips); return(true); } } ObjectPool.Release(clips); return(false); }