public override float?GetValue(IKeyframe <float?> keyframe, float keyframeProgress) { if (keyframe.StartValue == null || keyframe.EndValue == null) { throw new System.InvalidOperationException("Missing values for keyframe."); } return(MathExt.Lerp(keyframe.StartValue.Value, keyframe.EndValue.Value, keyframeProgress)); }
public override ScaleXy GetValue(IKeyframe <ScaleXy> keyframe, float keyframeProgress) { if (keyframe.StartValue == null || keyframe.EndValue == null) { throw new InvalidOperationException("Missing values for keyframe."); } var startTransform = keyframe.StartValue; var endTransform = keyframe.EndValue; return(new ScaleXy(MathExt.Lerp(startTransform.ScaleX, endTransform.ScaleX, keyframeProgress), MathExt.Lerp(startTransform.ScaleY, endTransform.ScaleY, keyframeProgress))); }