Ejemplo n.º 1
0
        public MainThreadAwaiter GetAwaiter()
        {
            var awaiter = new MainThreadAwaiter();

            MainThreadUtil.Run(CoroutineWrapper(this, awaiter));
            return(awaiter);
        }
Ejemplo n.º 2
0
 public AwaiterWrapper(MainThreadAwaiter awaiter)
 {
     isCompleted = () => awaiter.IsCompleted;
     onCompleted = c => awaiter.OnCompleted(c);
     getResult   = () => awaiter.GetResult();
 }
Ejemplo n.º 3
0
        public static IEnumerator CoroutineWrapper(IEnumerator theWorker, MainThreadAwaiter awaiter)
        {
            yield return(theWorker);

            awaiter.Complete();
        }
Ejemplo n.º 4
0
 public AwaiterWrapper(MainThreadAwaiter awaiter)
 {
     isCompleted = () => awaiter.IsCompleted;
     onCompleted = c => awaiter.OnCompleted(c);
     getResult = () => awaiter.GetResult();
 }