【Unity】一つのコルーチンを始めたり止めたりする
さして難しい話ではありません。
StartCoroutineとStopCoroutineを繰り返す小技
private IEnumerator TempCoroutine =null; private void Hoge() { if(TempCoroutine == null) { TempCoroutine = MyAction(); StartCoroutine(TempCoroutine); } } private void Huga() { if(TempCoroutine != null) { StopCoroutine(TempCoroutine); } TempCoroutine =null; }
これでできます。
変数にコルーチン関数を入れることで初期化して0からやり直すことができます