예제 #1
0
        private void UpdateExtraPackageInfos(string packageName, IVersionList versions)
        {
            if (!versions.Any())
            {
                return;
            }

            var extraVersions = m_UpmCache.GetExtraPackageInfos(packageName);

            if (extraVersions?.Any() ?? false)
            {
                foreach (var version in versions.Cast <UpmPackageVersion>())
                {
                    if (version.isFullyFetched)
                    {
                        continue;
                    }
                    PackageInfo info;
                    if (extraVersions.TryGetValue(version.version.ToString(), out info))
                    {
                        version.UpdatePackageInfo(info);
                    }
                }
            }

            // if the primary version is not fully fetched, trigger an extra fetch automatically right away to get results early
            // since the primary version's display name is used in the package list
            var primaryVersion = versions.primary;

            if (!primaryVersion.isFullyFetched)
            {
                ExtraFetch(primaryVersion.uniqueId);
            }
        }
예제 #2
0
 // check if the preview versions be filtered out if the user have `show previews` turned off
 private static bool ShouldPreviewsBeRemoved(IVersionList versions)
 {
     if (IsPreviewInstalled(versions))
     {
         return(false);
     }
     return(versions.all.Any(v => !v.HasTag(PackageTag.Release)));
 }
예제 #3
0
 private static bool IsPreviewInstalled(IVersionList versions)
 {
     return((!versions.installed?.HasTag(PackageTag.Release)) ?? false);
 }