public override void Update(DateTime now) { if (IsDone) { Current = Destination; return; } base.Update(now); if (Elapsed > Duration) { Current = Destination; return; } var progress = (float)Elapsed.TotalMilliseconds / (float)Duration.TotalMilliseconds; Current = EasingMath.EaseOutCubic(progress, Source.AsVector4(), Destination.AsVector4()).ToD2DRect(); }