Пример #1
0
        private static IEnumerator PromiseCoroutine <T>(UnityPromise <T> unityPromise)
        {
            yield return(null);    // To ensure that unityPromise is instantiated when accessing it in the unityPromise Coroutine.

            yield return(unityPromise.Coroutine);

            if (string.IsNullOrEmpty(unityPromise.Error))
            {
                unityPromise.Resolve(unityPromise.Result);
            }
            else
            {
                unityPromise.Reject(new UnityPromiseException(unityPromise.Error));
            }
        }
 public IPromise <Sprite> LoadSprite(string imagePath)
 {
     _promise = new UnityPromise <Sprite>(LoadAsynchronousResource(imagePath));
     return(_promise);
 }
Пример #3
0
 public static void Execute(UnityPromise unityPromise)
 {
     // ReSharper disable once ObjectCreationAsStatement
     new Task(PromiseCoroutine(unityPromise));
 }