public void Remove(Coroutine coroutine) { if (coroutine.ID == 0) { return; } coroutinesDict.Remove(coroutine.ID); }
public Coroutine StartCoroutine(IEnumerator routine) { //LogUtils.Debug("CoroutineManager.StartCoroutine"); if (disposed) { return null; } var coroutine = new Coroutine(routine, this); var yielding = coroutine.Start(); // todo need to check whether this coroutine invoke a timer // record in coroutinesDict if (yielding) { // alloc a id, and record } return coroutine; }
public void Yield(Coroutine coroutine, Action<Coroutine> callback) { }
public void Yield(Coroutine coroutine, Action<Coroutine> callback) { coroutine.CoroutineManager.TimeManager.AddTimer(WaitTick, (timer, data) => callback(data[0] as Coroutine), coroutine); }
public static void YieldReturn(Coroutine coroutine) { //LogConsole.Debug("Coroutine.YieldReturn"); coroutine.Resume(); }
public void Add(Coroutine coroutine) { coroutinesDict[coroutine.ID] = coroutine; }