なんていうかあいつStartCoroutineしたGameObjectが非アクティブになったら停止するっぽい。
アクティブに戻しても再開しないっぽい。
エディタで適当に
public class RoopSample : MonoBehaviour {
// Use this for initialization
void Start () {
StartCoroutine (SampleRoop ());
}
IEnumerator SampleRoop() {
int count = 0;
while (true) {
count++;
Debug.Log ("roop: " + count);
yield return null;
}
}
// Update is called once per frame
void Update () {
}
}
こんな感じのクラスをつくってGameObjectに貼り付けて、実行しながらそのオブジェクトをActive/非Activeと切り替えてやるとよくわかります。
実質マルチスレッドみたいに扱っているものだから、依存してるGameObject把握してないと変な罠になってしまいそうなポイントです。