There are three ways to stop coroutines.
- The first is to call
StopAllCoroutines()
, which will obviously stop all running coroutines.
- The second is to call
StopCoroutine(coroutine)
, where coroutine
is a variable name given to your IEnumerator
.
- And the third is to do a
yield break
from within the coroutine.
Worth noting is that both StopAllCoroutines and StopCoroutine can only stop a coroutine when the coroutine reaches a yield return *
.
So if you have two coroutines with the same name and you want to stop the one you are executing in you do yield break
.
Interestingly, if you want to stop every other coroutine besides the one you are executing in, you call StopCoroutines()
from within that coroutine.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…