以下の内容はhttps://kan-kikuchi.hatenablog.com/entry/DoTween_AsyncWaitForCompletionより取得しました。


async/awaitでDoTweenの終了を待つ事が出来る AsyncWaitForCompletion【Unity】【DOTween】




この記事でのバージョン
Unity 2022.2.8f1
DOTween Pro 1.0.335


はじめに

Unityで位置や大きさなどのアニメーション、

いわゆるTweenを実装するアセットとしてお馴染みのDOTweenでは、

https://assetstore.unity.com/packages/slug/32416?aid=1101lGoY


OnCompleteを使うことでTweenの終了後に処理をする事が可能です。

Debug.Log($"移動開始");

//Tweenで移動、移動後にログ表示
transform.DOMove(new Vector3(1, 0, 0), 1).OnComplete(() => {
  Debug.Log($"移動終了");
});


ただ場合によってはasync/awaitで終了を待ちたいという場合もあります。

そんな時に使えるのがAsyncWaitForCompletionで、

名前の通りasync/awaitでTweenが終わるまで待つ事が出来ます。(KillやCompleteした時でも待機終了)

private async void Start() {
  Debug.Log($"移動開始");
    
  //Tweenで移動して、終わるまで待つ
  await transform.DOMove(new Vector3(1, 0, 0), 1).AsyncWaitForCompletion();

  Debug.Log($"移動終了");
}


ちなみにKillされるまで待つAsyncWaitForKillや、

指定回数ループするまで待つAsyncWaitForElapsedLoopsなどもあります。






以上の内容はhttps://kan-kikuchi.hatenablog.com/entry/DoTween_AsyncWaitForCompletionより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14