/// <internalonly /> protected override bool ProgressCore(bool startRepetition, bool startReverse, DateTime timeStamp) { ProceduralAnimation animation = _animations[_current]; if (_nextAnimation) { if ((_successionDelay.TotalMilliseconds != 0) && ((_successionTimeStamp + _successionDelay) > timeStamp)) { return(false); } _nextAnimation = false; animation.OnPlay(IsReversed); } bool completed = animation.OnProgress(timeStamp); if (completed) { animation.OnStop(/* completed */ true, ProceduralAnimationStopState.Complete); if (IsReversed == false) { _current++; } else { _current--; } _nextAnimation = true; _successionTimeStamp = timeStamp; } return(completed && ((_current == _animations.Length) || (_current == -1))); }
private void PlayCore(ProceduralAnimation animation) { if (_activeAnimations == null) { _activeAnimations = new List <ProceduralAnimation>(); } _activeAnimations.Add(animation); animation.OnPlay(/* reversed */ false); _sb.Begin(); }
private void PlayCore(ProceduralAnimation animation) { if (_activeAnimations == null) { _activeAnimations = new List<ProceduralAnimation>(); } _activeAnimations.Add(animation); animation.OnPlay(/* reversed */ false); _sb.Begin(); }