在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 ""; }