Пример #1
0
        private IEnumerator MyCoroutine1(MyDataClass1 someData)
        {
            someData.myString = "Started";
            yield return(new WaitForSeconds(2));

            someData.myString = "Finished";
        }
Пример #2
0
        public IEnumerator TestCoroutinesAsTasks()
        {
            MonoBehaviour myMonoBehaviour = CreateSomeMonoBehaviour();
            var           someData        = new MyDataClass1()
            {
                myString = "Not started yet"
            };
            var coroutineTask = myMonoBehaviour.StartCoroutineAsTask(MyCoroutine1(someData));

            while (!coroutineTask.IsCompleted)
            {
                Log.d("Waiting for task to finish..");
                Assert.AreEqual("Started", someData.myString);
                yield return(new WaitForSeconds(0.05f));
            }
            Assert.AreEqual("Finished", someData.myString);
        }