public IEnumerator Start() { Application.logMessageReceived += Application_logMessageReceived; yield return(1); Debug.Log("Tests (9)"); UnityTask.Run(() => Debug.Log("1 Run Complete")); yield return(new WaitForSeconds(1)); UnityTask.Run(Test2, "2 Run With Param Complete"); yield return(new WaitForSeconds(1)); UnityTask.RunCoroutine(Test3); yield return(new WaitForSeconds(1)); UnityTask.RunCoroutine(Test4()).ContinueWith(t => Debug.Log("4 complete")); yield return(new WaitForSeconds(1)); UnityTask.RunCoroutine(Test5).ContinueWith(t => Debug.Log("5 complete")); yield return(new WaitForSeconds(1)); UnityTask.Run(() => { return("6 Run with Result Complete"); }).ContinueWith(t => Debug.Log(t.Result)); yield return(new WaitForSeconds(1)); UnityTask.Run <string, string>(Test7, "7 Run with Param and Result").ContinueWith(t => Debug.Log(t.Result)); yield return(new WaitForSeconds(1)); var t1 = UnityTask.RunCoroutine <string>(Test8); yield return(new WaitForSeconds(1)); Debug.Log(t1.Result); UnityTask.RunCoroutine <string>(Test9).ContinueWith(t => Debug.Log(t.Result)); }
void BackgroundToRotine() { UnityTask.Run(() => { Debug.Log("Thread A Running"); var task = UnityTask.RunCoroutine(RoutineFunction()); while (task.IsRunning) { Debug.Log("."); UnityTask.Delay(500); } Debug.Log("Thread A Done"); }); }
void CoroutineUnityTaskState() { UnityTask.RunCoroutine <string>(CoroutineUnityTaskStateAsync).ContinueWith(o => Debug.Log(o.Result)); }
public IEnumerator Start() { Output.text = string.Empty; Counter = 0; Application.logMessageReceived += Application_logMessageReceived; yield return(1); UnityTask.Run(() => { Counter++; Debug.Log("1 Run"); }); yield return(new WaitForSeconds(1)); Assert(() => Counter == 1, 1); UnityTask.Run(Test2, "2 Run With Param"); yield return(new WaitForSeconds(1)); Assert(() => Counter == 2, 2); UnityTask.RunCoroutine(Test3); yield return(new WaitForSeconds(1)); Assert(() => Counter == 3, 3); var t4 = UnityTask.RunCoroutine(Test4()).ContinueWith(t => { Counter++; Debug.Log("5 Coroutine with Continue"); }); yield return(StartCoroutine(t4.WaitRoutine())); Assert(() => Counter == 5, 5); yield return(new WaitForSeconds(1)); var t5 = UnityTask.RunCoroutine(Test5).ContinueWith(t => { Counter++; Debug.Log("5 Continued"); }); yield return(StartCoroutine(t5.WaitRoutine())); Assert(() => Counter == 7, 7); yield return(new WaitForSeconds(1)); var t6 = UnityTask.Run(() => { return("6 Run with Result And Continue"); }).ContinueWith(t => { Counter++; Debug.Log(t.Result); }); yield return(StartCoroutine(t6.WaitRoutine())); Assert(() => Counter == 8, 8); yield return(new WaitForSeconds(1)); var t7 = UnityTask.Run <string, string>(Test7, "7 Run with Param and Result And Continue").ContinueWith(t => { Counter++; Debug.Log(t.Result); }); yield return(StartCoroutine(t7.WaitRoutine())); yield return(new WaitForSeconds(1)); Assert(() => Counter == 10, 10); var t1 = UnityTask.RunCoroutine <string>(Test8); yield return(StartCoroutine(t1.WaitRoutine())); Debug.Log(t1.Result); Assert(() => Counter == 11, 11); yield return(new WaitForSeconds(1)); var t2 = UnityTask.RunCoroutine <string>(Test9).ContinueWith(t => { Counter++; Debug.Log(t.Result); }); yield return(StartCoroutine(t2.WaitRoutine())); Assert(() => Counter == 13, 13); var t12 = UnityTask.Run(() => { return("1"); }).ConvertTo <int>(task => { Debug.Log("10 ConvertTo Extension"); Counter++; return(int.Parse(task.Result)); }); Assert(() => t12.Result == 1, 14); Assert(() => Counter == 14, 14); Debug.Log("Success"); }
void Routine() { UnityTask.RunCoroutine(RoutineFunction()); }