private static void AddAnimation(AnimationBase animation) { if (counter % 50 == 0) { var toBeDeleted = new Collection <WeakReference>(); foreach (var i in allAnimations) { if (!i.IsAlive) { toBeDeleted.Add(i); } } foreach (var i in toBeDeleted) { allAnimations.Remove(i); } } counter++; allAnimations.Add(new WeakReference(animation)); }
protected AnimationBase() { AnimationBase.AddAnimation(this); }