コード例 #1
0
        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();
                    }
                }
            }
        }
コード例 #2
0
        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));
                }
            }
        }
コード例 #3
0
 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);
 }
コード例 #4
0
ファイル: XRSettingsManager.cs プロジェクト: hassi00/ARmeisi
        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;
        }
コード例 #5
0
        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;
            }
        }
コード例 #6
0
        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)
            });
        }