public void OnEnable() { UpdateStatusMessage(); m_PageManager.onRefreshOperationStart += UpdateStatusMessage; m_PageManager.onRefreshOperationFinish += UpdateStatusMessage; m_PageManager.onRefreshOperationError += OnRefreshOperationError; m_PackageFiltering.onFilterTabChanged += OnFilterTabChanged; m_Application.onInternetReachabilityChange += OnInternetReachabilityChange; m_AssetStoreCallQueue.onCheckUpdateProgress += OnCheckUpdateProgress; refreshButton.SetIcon("refresh"); refreshButton.iconTooltip = L10n.Tr("Refresh list"); refreshButton.clicked += () => { if (!EditorApplication.isPlaying) { m_PageManager.Refresh(m_PackageFiltering.currentFilterTab); } }; refreshButton.SetEnabled(true); RefreshCheckUpdateMenuOption(m_PackageFiltering.currentFilterTab); }
private void DelayRefresh(PackageFilterTab tab, string subPage = "") { if (!m_ApplicationProxy.isUpmRunning) { if (!m_ApplicationProxy.isBatchMode) { Debug.Log(L10n.Tr("[Package Manager Window] UPM server is not running. Please check that your Editor was not launched with '-noUpm' command line option.")); } packageList.HideListShowEmptyArea(L10n.Tr("UPM server is not running")); packageStatusbar.DisableRefresh(); return; } if (tab == PackageFilterTab.AssetStore && (m_PackageManagerPrefs.numItemsPerPage == null || !m_UnityConnectProxy.isUserInfoReady)) { EditorApplication.delayCall += () => DelayRefresh(tab, subPage); return; } m_PageManager.Refresh(tab); }
private void CheckUpdateFromStack() { if (!m_UnityConnect.isUserLoggedIn || m_CheckUpdateInProgress || !m_CheckUpdateStack.Any()) { return; } var checkUpdateList = new List <string>(k_CheckUpdateChunkSize); while (m_CheckUpdateStack.Any() && checkUpdateList.Count < k_CheckUpdateChunkSize) { var id = m_CheckUpdateStack.Pop(); if (m_ForceCheckUpdateLookup.TryGetValue(id, out var forceCheck)) { if (forceCheck || m_AssetStoreCache.GetLocalInfo(id)?.updateInfoFetched == false) { checkUpdateList.Add(id); } m_ForceCheckUpdateLookup.Remove(id); } } if (checkUpdateList.Any()) { m_CheckUpdateInProgress = true; m_AssetStoreClient.CheckUpdate(checkUpdateList, () => { m_CheckUpdateInProgress = false; onCheckUpdateProgress?.Invoke(); if (m_RefreshAfterCheckUpdates && !m_CheckUpdateStack.Any()) { var page = m_PageManager.GetCurrentPage(); if (page.filters.updateAvailableOnly) { m_PageManager.Refresh(); } m_RefreshAfterCheckUpdates = false; } }); } onCheckUpdateProgress?.Invoke(); }
private void SetupAdvancedMenu() { toolbarSettingsMenu.tooltip = L10n.Tr("Advanced"); var dropdownItem = toolbarSettingsMenu.AddBuiltInDropdownItem(); dropdownItem.text = L10n.Tr("Project Settings"); dropdownItem.action = () => { if (!m_SettingsProxy.advancedSettingsExpanded) { m_SettingsProxy.advancedSettingsExpanded = true; m_SettingsProxy.Save(); } SettingsWindow.Show(SettingsScope.Project, PackageManagerProjectSettingsProvider.k_PackageManagerSettingsPath); PackageManagerWindowAnalytics.SendEvent("advancedProjectSettings"); }; dropdownItem = toolbarSettingsMenu.AddBuiltInDropdownItem(); dropdownItem.text = L10n.Tr("Preferences"); dropdownItem.action = () => { SettingsWindow.Show(SettingsScope.User, PackageManagerUserSettingsProvider.k_PackageManagerUserSettingsPath); PackageManagerWindowAnalytics.SendEvent("packageManagerUserSettings"); }; dropdownItem = toolbarSettingsMenu.AddBuiltInDropdownItem(); dropdownItem.insertSeparatorBefore = true; dropdownItem.text = L10n.Tr("Manual resolve"); dropdownItem.action = () => { if (!EditorApplication.isPlaying) { m_UpmClient.Resolve(); } }; dropdownItem = toolbarSettingsMenu.AddBuiltInDropdownItem(); dropdownItem.insertSeparatorBefore = true; dropdownItem.text = L10n.Tr("Reset Packages to defaults"); dropdownItem.action = () => { EditorApplication.ExecuteMenuItem(k_ResetPackagesMenuPath); m_PageManager.Refresh(RefreshOptions.UpmListOffline); PackageManagerWindowAnalytics.SendEvent("resetToDefaults"); }; if (Unsupported.IsDeveloperBuild()) { dropdownItem = toolbarSettingsMenu.AddBuiltInDropdownItem(); dropdownItem.insertSeparatorBefore = true; dropdownItem.text = L10n.Tr("Reset Package Database"); dropdownItem.action = () => { PackageManagerWindow.instance?.Close(); m_PageManager.Reload(); ServicesContainer.instance.Resolve <AssetStoreCallQueue>().ClearFetchDetails(); }; dropdownItem = toolbarSettingsMenu.AddBuiltInDropdownItem(); dropdownItem.text = L10n.Tr("Reset Stylesheets"); dropdownItem.action = () => { PackageManagerWindow.instance?.Close(); m_ResourceLoader.Reset(); }; } }