/// <summary>Cancel animation</summary> public void cancelAbs(iAbsoluteTimeUpdate obj, bool complete = true) { if (absolute.TryGetValue(obj, out var pa)) { if (complete && pa.finish != TimeSpan.MaxValue) { obj.tick(pa.finish); } absolute.Remove(obj); cancelled(); return; } // ConsoleLogger.logWarning( "Cancel animation did nothing, it wasn't running" ); }
/// <summary>Start a finite animation that receives total time elapsed</summary> public void startAbs(TimeSpan duration, iAbsoluteTimeUpdate obj, eAnimationTimer time = eAnimationTimer.AbsoluteTime) { validateDuration(duration, false); absolute.AddOrUpdate(obj, new Animation(time, timers[time] + duration)); RunPolicy.animationStarted(content); }
/// <summary>Start an infinite animation that receives total time elapsed</summary> public void startAbs(iAbsoluteTimeUpdate obj, eAnimationTimer time = eAnimationTimer.AbsoluteTime) { absolute.AddOrUpdate(obj, new Animation(time)); RunPolicy.animationStarted(content); }
/// <summary>True if the animation is playing</summary> public bool playingAbs(iAbsoluteTimeUpdate obj) { return(absolute.TryGetValue(obj, out var unused)); }