/// <summary>Cancel animation</summary> public void cancelProgress(iAnimationProgressUpdate obj, bool complete = true) { if (progress.TryGetValue(obj, out var pa)) { if (complete) { obj.tick(1); } progress.Remove(obj); cancelled(); return; } // ConsoleLogger.logWarning( "Cancel animation did nothing, it wasn't running" ); }
/// <summary>Start a finite animation that receives a progress value, from 0 to 1.</summary> public void startProgress(TimeSpan duration, iAnimationProgressUpdate obj, eAnimationTimer time = eAnimationTimer.RelativeTime) { validateDuration(duration, true); progress.AddOrUpdate(obj, new ProgressAnimation(time, timers[time], duration)); RunPolicy.animationStarted(content); }
/// <summary>True if the animation is playing</summary> public bool playingProgress(iAnimationProgressUpdate obj) { return(progress.TryGetValue(obj, out var unused)); }