private IEnumerator <float> _do_task() { IEnumerator <float> e = _ienumer; while (Running) { if (BindObject.Equals(null)) { LogManager.Error("协程中断,因为绑定物体被删除所以停止协程"); Stop(); yield break; } if (Paused) { yield return(0); } else { if (e != null && e.MoveNext()) { yield return(e.Current); } else { Running = false; IsFinished = true; _internal_call_back(true); } } } }
public IEnumerator _do_task() { IEnumerator e = _ienumer; while (Running) { // 安全性检测 性能GameObject待定 if (BindObject.Equals(null)) { LogManager.Error("协程中断,因为绑定物体被删除所以停止协程"); Stop(); yield break; } // 暂停 if (Paused) { yield return(null); } else { // 运行 if (e != null && e.MoveNext()) { yield return(e.Current); } else { Running = false; } } } _internal_call_back(true); }