public static UnityTaskState CreateTask(IEnumerator coroutine) { if (singleton == null) { var go = new GameObject("TaskManager"); DontDestroyOnLoad(go); singleton = go.AddComponent <UnityTaskManager>(); } return(new UnityTaskState(coroutine)); }
private void InitUnityTask(IEnumerator c, bool autoStart) { task = UnityTaskManager.CreateTask(c); task.Paused += TaskPaused; task.Resumed += TaskResumed; task.Finished += TaskFinished; if (autoStart) { Start(); } }