Ejemplo n.º 1
0
        internal void UpdatePackageInfo(PackageInfo newPackageInfo, bool isUnityPackage)
        {
            m_IsFullyFetched  = m_Version?.ToString() == newPackageInfo.version;
            m_PackageInfo     = newPackageInfo;
            m_PackageUniqueId = m_PackageInfo.name;
            m_IsUnityPackage  = isUnityPackage;

            RefreshTags();

            // For core packages, or packages that are bundled with Unity without being published, use Unity's build date
            m_PublishedDateTicks = 0;
            if (HasTag(PackageTag.Bundled) && m_PackageInfo.datePublished == null)
            {
                m_PublishedDateTicks = new DateTime(1970, 1, 1).Ticks + InternalEditorUtility.GetUnityVersionDate() * TimeSpan.TicksPerSecond;
            }

            m_Author = this.isUnityPackage ? k_UnityAuthor : m_PackageInfo.author?.name ?? string.Empty;

            if (HasTag(PackageTag.BuiltIn))
            {
                m_Description = UpmPackageDocs.FetchBuiltinDescription(this);
            }

            if (m_IsFullyFetched)
            {
                m_DisplayName = GetDisplayName(m_PackageInfo);
                m_PackageId   = m_PackageInfo.packageId;
                if (installedFromPath)
                {
                    m_PackageId = m_PackageId.Replace("\\", "/");
                }

                ProcessSignatureErrors(newPackageInfo);
            }
            else
            {
                m_PackageId = FormatPackageId(name, version.ToString());
            }
        }