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); }
public static void Execute(UnityPromise unityPromise) { // ReSharper disable once ObjectCreationAsStatement new Task(PromiseCoroutine(unityPromise)); }