协程没有 运行 第二次尝试?

Coroutine doesnt run on second try?

目前,我的 OnGUI 功能上有这个过程:

void OnGUI ()
{
   // process here that adds item on list
    Counter = list.Count();
}

我有这段代码,运行它是计数器值更改时的一个函数。

private IEnumerator coroutine = null;
private int counter = 0;
private int limit = 5;
public int Counter 
{
    get{ return this.counter; }
    set
    {
         this.counter =  value;
         if(this.counter == limit)
         { 
             if(this.coroutine != null){ return; } // already running
             this.coroutine = StartProcess();
             StartCoroutine(this.coroutine); }
    }
}

StartProcess 包含这个:

StartProcess ()
{
  yield return StartCorotuine (Process1);
  yield return StartCorotuine (Process2);
}

在我的第一个 运行 上一切顺利,但在我的第二个 运行 上,即使满足我的条件,我的计数器功能似乎也不再 运行ning 了?

当协程完成时,指向它的指针仍然有效,它不会重置为 null,你可以保留一个死协程的处理程序,只需在末尾添加 =null 就可以了