はじめに
気づいたらInvokeやコルーチンがいっぱいに・・・といった事態(自分だけ?)を少しでも楽に解決するような○秒待ってから処理を行う方法を紹介したいと思います。
ソースコードをぺたっと
using System.Collections; using System.Collections.Generic; using UnityEngine; //ここを追加しておく using System; public static class Utilities{ public static IEnumerator DelayMethod(float waitTime,Action action){ yield return new WaitForSeconds (waitTime); action (); } }
使い方
○秒待ちたい処理を行いたい場所に以下の文をいれます。
StartCoroutine (Utilities.DelayMethod (1f, () => {Debug.Log("ここに待った後に行いたい処理を書く");}));
DelayMethodの第1引数に待つ秒数、第2引数に行いたい処理を書きます。
おわりに
○秒待ってから処理を行うことがわりと直感的に書けるので自分は重宝しています。
もしもっと楽な方法や指摘等がありましたら、ぜひとも教えていただけると嬉しいです!