public RadicalCoroutine StartRadicalCoroutine(System.Collections.IEnumerator routine, RadicalCoroutineDisableMode disableMode = RadicalCoroutineDisableMode.Default) { if (routine == null) throw new System.ArgumentNullException("routine"); var co = new RadicalCoroutine(routine); co.Start(this, disableMode); return co; }
public void Schedule(MonoBehaviour behaviour, RadicalCoroutine routine, RadicalCoroutineDisableMode disableMode = RadicalCoroutineDisableMode.Default) { if (behaviour == null) throw new System.ArgumentNullException("behaviour"); if (routine == null) throw new System.ArgumentNullException("routine"); this.OnComplete += (s, e) => { if (routine._state == RadicalCoroutineOperatingState.Inactive) routine.Start(behaviour, disableMode); }; }
public RadicalCoroutine Schedule(MonoBehaviour behaviour, CoroutineMethod routine, RadicalCoroutineDisableMode disableMode = RadicalCoroutineDisableMode.Default) { if (behaviour == null) throw new System.ArgumentNullException("behaviour"); if (routine == null) throw new System.ArgumentNullException("routine"); var co = new RadicalCoroutine(routine().GetEnumerator()); this.OnComplete += (s, e) => { if (co._state == RadicalCoroutineOperatingState.Inactive) co.Start(behaviour, disableMode); }; return co; }
public RadicalCoroutine StartRadicalCoroutine(CoroutineMethod routine, RadicalCoroutineDisableMode disableMode = RadicalCoroutineDisableMode.Default) { if (routine == null) throw new System.ArgumentNullException("routine"); var co = new RadicalCoroutine(routine().GetEnumerator()); co.Start(this, disableMode); return co; }