/// <summary> /// Override this to provide your own offset on every frame. /// </summary> /// <param name="frameInfo"></param> /// <returns></returns> public Vector2 GetOffset(LottieFrameInfo <Vector2?> frameInfo) { if (Value == null) { throw new ArgumentException("You must provide a static value in the constructor " + ", call setValue, or override getValue."); } return(Value.Value); }
public override float?GetValue(LottieFrameInfo <float?> frameInfo) { float originalValue = MiscUtils.Lerp( frameInfo.StartValue.Value, frameInfo.EndValue.Value, frameInfo.InterpolatedKeyframeProgress ); float offset = GetOffset(frameInfo); return(originalValue + offset); }
public override int?GetValue(LottieFrameInfo <int?> frameInfo) { int originalValue = MiscUtils.Lerp( frameInfo.StartValue.Value, frameInfo.EndValue.Value, frameInfo.InterpolatedKeyframeProgress ); int newValue = GetOffset(frameInfo); return(originalValue + newValue); }
public override Vector2?GetValue(LottieFrameInfo <Vector2?> frameInfo) { var point = new Vector2( MiscUtils.Lerp( frameInfo.StartValue.Value.X, frameInfo.EndValue.Value.X, frameInfo.InterpolatedKeyframeProgress), MiscUtils.Lerp( frameInfo.StartValue.Value.Y, frameInfo.EndValue.Value.Y, frameInfo.InterpolatedKeyframeProgress) ); var offset = GetOffset(frameInfo); point.X += offset.X; point.Y += offset.Y; return(point); }
/// <summary> /// Override this if you haven't set a static value in the constructor or with SetValue. /// </summary> /// <param name="frameInfo"></param> /// <returns></returns> public virtual T GetValue(LottieFrameInfo <T> frameInfo) { return(Value); }