private void AnimationTimerOnTick(object sender, EventArgs eventArgs) { for (var i = 0; i < _animationProgresses.Count; i++) { UpdateProgress(i); if (!Singular) { if ((_animationDirections[i] == AnimationDirection.InOutIn && _animationProgresses[i] == MAX_VALUE)) { _animationDirections[i] = AnimationDirection.InOutOut; } else if ((_animationDirections[i] == AnimationDirection.InOutRepeatingIn && _animationProgresses[i] == MIN_VALUE)) { _animationDirections[i] = AnimationDirection.InOutRepeatingOut; } else if ((_animationDirections[i] == AnimationDirection.InOutRepeatingOut && _animationProgresses[i] == MIN_VALUE)) { _animationDirections[i] = AnimationDirection.InOutRepeatingIn; } else if ( (_animationDirections[i] == AnimationDirection.In && _animationProgresses[i] == MAX_VALUE) || (_animationDirections[i] == AnimationDirection.Out && _animationProgresses[i] == MIN_VALUE) || (_animationDirections[i] == AnimationDirection.InOutOut && _animationProgresses[i] == MIN_VALUE)) { _animationProgresses.RemoveAt(i); _animationSources.RemoveAt(i); _animationDirections.RemoveAt(i); _animationDatas.RemoveAt(i); } } else { if ((_animationDirections[i] == AnimationDirection.InOutIn && _animationProgresses[i] == MAX_VALUE)) { _animationDirections[i] = AnimationDirection.InOutOut; } else if ((_animationDirections[i] == AnimationDirection.InOutRepeatingIn && _animationProgresses[i] == MAX_VALUE)) { _animationDirections[i] = AnimationDirection.InOutRepeatingOut; } else if ((_animationDirections[i] == AnimationDirection.InOutRepeatingOut && _animationProgresses[i] == MIN_VALUE)) { _animationDirections[i] = AnimationDirection.InOutRepeatingIn; } } } if (OnAnimationProgress != null) { OnAnimationProgress.Invoke(this); } }
private void AnimationTimerOnTick(object sender, EventArgs eventArgs) { for (var i = 0; i < _effectsProgression.Count; i++) { UpdateProgress(i); if (!Singular) { if ((_animationDirections[i] == AnimationDirection.InOutIn) && (_effectsProgression[i] == MaxValue)) { _animationDirections[i] = AnimationDirection.InOutOut; } else if ((_animationDirections[i] == AnimationDirection.InOutRepeatingIn) && (_effectsProgression[i] == MinValue)) { _animationDirections[i] = AnimationDirection.InOutRepeatingOut; } else if ((_animationDirections[i] == AnimationDirection.InOutRepeatingOut) && (_effectsProgression[i] == MinValue)) { _animationDirections[i] = AnimationDirection.InOutRepeatingIn; } else if (((_animationDirections[i] == AnimationDirection.In) && (_effectsProgression[i] == MaxValue)) || ((_animationDirections[i] == AnimationDirection.Out) && (_effectsProgression[i] == MinValue)) || ((_animationDirections[i] == AnimationDirection.InOutOut) && (_effectsProgression[i] == MinValue))) { _effectsProgression.RemoveAt(i); _effectsSources.RemoveAt(i); _animationDirections.RemoveAt(i); _effectsData.RemoveAt(i); } } else { if ((_animationDirections[i] == AnimationDirection.InOutIn) && (_effectsProgression[i] == MaxValue)) { _animationDirections[i] = AnimationDirection.InOutOut; } else if ((_animationDirections[i] == AnimationDirection.InOutRepeatingIn) && (_effectsProgression[i] == MaxValue)) { _animationDirections[i] = AnimationDirection.InOutRepeatingOut; } else if ((_animationDirections[i] == AnimationDirection.InOutRepeatingOut) && (_effectsProgression[i] == MinValue)) { _animationDirections[i] = AnimationDirection.InOutRepeatingIn; } } } OnAnimationProgress?.Invoke(this); }