void DownloadDefferedLoad() { if (m_listRequest == null) { m_listRequest = PackageManager.Client.List(); } if (m_listRequest.IsCompleted) { var listResult = m_listRequest.Result; if (EditorPrefs.HasKey("defferedLoadPackage")) { var loadPackage = EditorPrefs.GetString("defferedLoadPackage"); PackageManager.PackageInfo info = listResult.FirstOrDefault(p => p.name == loadPackage); if (info != null) { if (InsertPackageXRLoaderToList(info)) { EditorPrefs.DeleteKey("defferedLoadPackage"); } } else { m_listRequest = PackageManager.Client.List(); } } } }
private static IEnumerable <SearchItem> SearchPackages(SearchContext context, SearchProvider provider) { if (string.IsNullOrEmpty(context.searchQuery)) { yield break; } s_ListRequest = s_ListRequest ?? PackageManager.Client.List(true); s_SearchRequest = s_SearchRequest ?? PackageManager.Client.SearchAll(); if (s_SearchRequest == null || s_ListRequest == null) { yield break; } while (!s_SearchRequest.IsCompleted || !s_ListRequest.IsCompleted) { yield return(null); } if (s_SearchRequest.Result == null || s_ListRequest.Result == null) { yield break; } foreach (var p in s_SearchRequest.Result) { if (p.keywords.Contains(context.searchQuery) || SearchUtils.MatchSearchGroups(context, p.description.ToLowerInvariant(), true) || SearchUtils.MatchSearchGroups(context, p.name.ToLowerInvariant(), true)) { yield return(provider.CreateItem(context, p.packageId, String.IsNullOrEmpty(p.resolvedPath) ? 0 : 1, FormatLabel(p), FormatDescription(p), null, p)); } } }
private bool HasLegacyInputHelpersInstalled(bool forceLookup = false) { if (m_LIHSearchRequest == null || forceLookup || (m_Count >= m_CheckCount && !m_HasLIHPackage)) { m_LIHSearchRequest = PackageManager.Client.List(); m_Count = 0; } else { m_Count++; } if (m_LIHSearchRequest != null && m_LIHSearchRequest.IsCompleted) { m_HasLIHPackage = false; PackageManager.PackageCollection packageList = m_LIHSearchRequest.Result; foreach (var info in packageList) { if (info.name == s_LegacyInputHelpersPackageName) { if (info.status == PackageManager.PackageStatus.Available) { m_HasLIHPackage = true; m_LegacyInputHelpersInstalledVersion = string.Format("{0} version {1} is installed", info.name, info.version); } break; } } m_LIHSearchRequest = null; } return(m_HasLIHPackage); }
XRSettingsManager(string path, SettingsScope scopes = SettingsScope.Project) : base(path, scopes) { m_HasCompletedRequest = false; m_XRPackages.Clear(); m_PackageRepositoryListRequest = Client.SearchAll(); m_LocalPackageListRequest = Client.List(); EditorApplication.update += UpdatePackageManagerQuery; }
public IEnumerator CheckPluginVersion() { PackageManager.Requests.ListRequest list = Client.List(true, false); while (!list.IsCompleted) { yield return(null); } foreach (PackageManager.PackageInfo packageInfo in list.Result) { if (packageInfo.name != "com.unity.meshsync") { continue; } Assert.AreEqual(Lib.GetPluginVersion(), packageInfo.version); yield break; } }
internal static SearchProvider CreateProvider() { return(new SearchProvider(type, displayName) { priority = 90, filterId = "pkg:", isExplicitProvider = true, onEnable = () => { }, onDisable = () => { s_ListRequest = null; s_SearchRequest = null; }, fetchItems = (context, items, provider) => SearchPackages(context, provider), fetchThumbnail = (item, context) => (item.thumbnail = item.score == 0 ? Icons.packageUpdate : Icons.packageInstalled) }); }