dotween icon indicating copy to clipboard operation
dotween copied to clipboard

OnComplete callback called twice when triggered from OnUpdate

Open mikatu opened this issue 3 years ago • 2 comments

Hey, I use the code below to allow users skip animations.

var tw = transform.DOLocalMove(new Vector3(), 10);
tw.OnStart(() => Debug.Log("Started"));
tw.OnComplete(() => Debug.Log("Completed"));
tw.OnUpdate(() => {
    if (Input.GetMouseButtonDown(0))
        tw.Complete(true);
    }
);

This causes OnComplete to trigger twice in v1.2.632

mikatu avatar Jan 14 '22 08:01 mikatu

The following code also fires OnComplete twice, it's also fired from OnUpdate but using Kill(true) instead....

    public void dotest()
    {
        Sequence sequence = DOTween.Sequence();

        int updatecount = 0;
        int completecalls = 0;
        int onkillcount = 0;
        int endFrame = Time.frameCount + 1;
        
        sequence.AppendInterval(2)
            .OnUpdate(() => {
                ++updatecount;
                Debug.Log($"called OnUpdate {updatecount}");
                sequence.Kill(complete: true);
            })
            .OnComplete(() => {
                ++completecalls;
                Debug.Log($"complete called {completecalls} update called {updatecount}");
            })
            .OnKill(() => {
                onkillcount++;
                Debug.Log($"called OnKill {onkillcount}");
            })
            .SetUpdate(UpdateType.Normal, isIndependentUpdate: true)
            .SetAutoKill(true);
            
        sequence.Play();
    }

rafael-f avatar Apr 13 '23 17:04 rafael-f

Here is some simpler code:

_sequence = DOTween.Sequence();
_sequence.AppendInterval(2f)
    .OnUpdate(() => _sequence.Kill(true))
    .OnComplete(() => Debug.Log($"COMPLETE {_sequence.IsActive()}"));

Output:

COMPLETE true
COMPLETE false

sequence.Kill(true) triggers the first OnComplete with the sequence still active. Now completed, the second OnComplete runs naturally, but with an inactive sequence.

surmwill avatar Jul 28 '24 17:07 surmwill