private static bool WaitForRequestBase(UnityEditor.PackageManager.Requests.Request request, string msg, int loopDelay)
        {
            var progress = 0.0f;

            while (!request.IsCompleted)
            {
                Thread.Sleep(loopDelay);
                EditorUtility.DisplayProgressBar("Unity Package Manager", msg, Mathf.Min(1.0f, progress++ / 100f));
            }
            EditorUtility.ClearProgressBar();

            return(request.Status == UnityEditor.PackageManager.StatusCode.Success);
        }
Exemplo n.º 2
0
 public static AsyncOperationAwaiter GetAwaiter(this UnityEditor.PackageManager.Requests.Request request)
 {
     return(new AsyncOperationAwaiter(() => request.IsCompleted));
 }
 private static bool WaitForRequest <T>(UnityEditor.PackageManager.Requests.Request <T> request, string msg, int loopDelay = 20)
 {
     return(WaitForRequestBase(request, msg, loopDelay) && request.Result != null);
 }