public override void OnUpdate()
    {
        float percentDone = PingPong ? TweenHolder.EaseInOutPingPongAnimationCurveFastOutro(TweenHolder.PercentDone)
                                                                         : TweenHolder.EaseInOutAnimationCurve(TweenHolder.PercentDone);

        _CachedTransform.localEulerAngles = Vector3.Lerp(EulerFrom, EulerTo, percentDone);
    }
    public override void OnUpdate()
    {
        float percentDone = TweenHolder.EaseInOutPingPongAnimationCurveFastOutro(TweenHolder.PercentDone);

        if (percentDone < 0.5f)
        {
            _CachedTransform.position = Vector3.Lerp(PositionFrom, PositionTo, PingPongFunction(percentDone));
        }
        else
        {
            _CachedTransform.position = Vector3.Lerp(PositionBackTo, PositionTo, PingPongFunction(percentDone));
        }
    }