/// <summary> /// Resets this object to new values. /// </summary> /// <param name="duration">The total time this animation should run.</param> /// <param name="startingValue">The starting value of the animation.</param> /// <param name="endingValue">The ending value of the animation.</param> /// <param name="easingFunction">The easing function used during animation. Defaults to <see cref="EasingFunctions.Linear"/>.</param> public void Reset(TimeSpan duration, double startingValue, double endingValue, EasingFunctions.EasingBase easingFunction = null) { Duration = duration; EasingFunction = easingFunction ?? new EasingFunctions.Linear(); StartingValue = startingValue; EndingValue = endingValue; }
/// <summary> /// /// </summary> /// <param name="from"></param> /// <param name="to"></param> /// <param name="duration"></param> /// <param name="easingFunction"></param> public Fade(IScreenSurface from, IScreenSurface to, TimeSpan duration, EasingFunctions.EasingBase easingFunction = null) { if (easingFunction == null) { easingFunction = new EasingFunctions.Linear(); } _fadeFrom = from; _fadeTo = to; _valueInstructionTo = new Instructions.AnimatedValue(duration, 0, 255, easingFunction); }
/// <summary> /// Creates a new value animated over time. /// </summary> /// <param name="duration">The total time this animation should run.</param> /// <param name="startingValue">The starting value of the animation.</param> /// <param name="endingValue">The ending value of the animation.</param> /// <param name="easingFunction">The easing function used during animation. Defaults to <see cref="EasingFunctions.Linear"/>.</param> public AnimatedValue(TimeSpan duration, double startingValue, double endingValue, EasingFunctions.EasingBase easingFunction = null) =>