private static CPath Apply(CPath path, CPathEasingAction action, DEasing method, float from, float to, float time) { return(path.Add(p => { if (p.DeltaF < time) { action.Invoke(method.Invoke(p.DeltaF, from, to, time)); return Status.Continue; } action.Invoke(to); return Status.OK; })); }
public static CPath EasingBounceEaseOutIn(this CPath path, float time, float from, float to, CPathEasingAction action) { return(Apply(path, action, EasingTo.BounceEaseOutIn, from, to, time)); }
public static CPath EasingElasticEaseOut(this CPath path, float time, float from, float to, CPathEasingAction action) { return(Apply(path, action, EasingTo.ElasticEaseOut, from, to, time)); }
public static CPath EasingQuadEaseIn(this CPath path, float time, float from, float to, CPathEasingAction action) { return(Apply(path, action, EasingTo.QuadEaseIn, from, to, time)); }
public static CPath EasingLinear(this CPath path, float time, float from, float to, CPathEasingAction action) { return(Apply(path, action, EasingTo.Linear, from, to, time)); }