public void YieldInPool()
{
//Debug.WriteLine("YieldInPool");
#if false
if (Pool == null)
{
throw(new Exception("Pool can't be null"));
}
if (Pool.CurrentCoroutine == null)
{
throw (new Exception("Pool.CurrentCoroutine can't be null"));
}
if (Pool.CallerContinueEvent == null)
{
throw (new Exception("Pool.CallerContinueEvent can't be null"));
}
if (Pool.CurrentCoroutine.CoroutineContinueEvent == null)
{
throw (new Exception("Pool.CurrentCoroutine.CoroutineContinueEvent can't be null"));
}
#endif
if (Pool.CurrentCoroutine == null)
{
throw (new InvalidOperationException("Can't call YieldInPool outside the ExecuteStep"));
}
if (Pool.CurrentCoroutine != this)
{
Debug.WriteLine("Pool.CurrentCoroutine != this");
}
CoroutineContinueEvent.Reset();
Pool.CallerContinueEvent.Set();
//Pool.CurrentCoroutine.CoroutineContinueEvent_WaitOne();
CoroutineContinueEvent_WaitOne();
}