Тут вот третий пост показывает, как остановить корутину, которая принимает IEnumerator:
http://forum.unity3d.com/threads/how...erator.249732/
// variable that holds reference to coroutine (IEnumerator) public IEnumerator routine; // get IEnumerator from Coroutine and start routine = DoWork(); StartCoroutine( routine ); // stop Coroutine StopCoroutine( routine );
|
т.е. надо сохранить в публичной переменной ссылку на созданный первым запуском IEnumerator. Единственное я вижу в этом проблему: корутина сработает при запуске два раза, надо в начало ставить yield return null; наверное...