在Editor中异步获取依赖版本


        public static void GetPackageVersionAsync(string packageName, Action<string> callback)
        {
            ListRequest Request = Client.List(); // List packages installed for the project
            EditorApplication.CallbackFunction progress = null;
            progress = delegate()
            {
                if (!Request.IsCompleted)
                {
                    return;
                }

                EditorApplication.update -= progress;

                if (Request.Status == StatusCode.Success)
                {
                    foreach (var package in Request.Result)
                    {
                        if (package.name == packageName)
                        {
                            callback(package.version);
                            return;
                        }
                    }
                }
                else if (Request.Status >= StatusCode.Failure)
                {
                    Debug.Log(Request.Error.message);
                }
            };
            EditorApplication.update += progress;
        }

同步获取依赖版本


        public static string GetPackageVersion(string packageName)
        {
            ListRequest Request = Client.List(); // List packages installed for the project

            while (!Request.IsCompleted)
            {
                Thread.Sleep(100);
            }

            if (Request.Status == StatusCode.Success)
            {
                foreach (var package in Request.Result)
                {
                    if (package.name == packageName)
                    {
                        return package.version;
                    }
                }
            }
            else if (Request.Status >= StatusCode.Failure)
            {
                Debug.Log(Request.Error.message);
            }

            return "";
        }