static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { if (!importedAssets.Any(IsPackageJsonAsset) && !deletedAssets.Any(IsPackageJsonAsset) && !movedAssets.Any(IsPackageJsonAsset)) { return; } PackageManagerWindow.FetchListOfflineCacheForAllWindows(); }
internal void Add(PackageInfo packageInfo) { if (packageInfo == Current || AddRemoveOperationInProgress) { return; } var operation = OperationFactory.Instance.CreateAddOperation(); addRemoveOperationInstance = operation; OnAddOperationFinalizedEvent = () => { AddSignal.Operation = null; operation.OnOperationFinalized -= OnAddOperationFinalizedEvent; PackageManagerWindow.FetchListOfflineCacheForAllWindows(); }; operation.OnOperationFinalized += OnAddOperationFinalizedEvent; AddSignal.SetOperation(operation); operation.AddPackageAsync(packageInfo); }
public void Remove() { if (Current == null || AddRemoveOperationInProgress) { return; } var operation = OperationFactory.Instance.CreateRemoveOperation(); addRemoveOperationInstance = operation; OnRemoveOperationFinalizedEvent = () => { RemoveSignal.Operation = null; operation.OnOperationFinalized -= OnRemoveOperationFinalizedEvent; PackageManagerWindow.FetchListOfflineCacheForAllWindows(); }; operation.OnOperationFinalized += OnRemoveOperationFinalizedEvent; RemoveSignal.SetOperation(operation); operation.RemovePackageAsync(Current); }
static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { var allUpdatedAssets = importedAssets.Concat(deletedAssets).Concat(movedAssets).Concat(movedFromAssetPaths); var packageJsonsUpdated = false; foreach (var asset in allUpdatedAssets) { var pathComponents = asset.Split('/'); if (pathComponents[0] != "Packages") { continue; } if (!packageJsonsUpdated && pathComponents.Length == 3 && pathComponents[2] == "package.json") { packageJsonsUpdated = true; break; } } if (packageJsonsUpdated) { PackageManagerWindow.FetchListOfflineCacheForAllWindows(); } }