示例#1
0
        internal void UpdatePackageInfo(PackageInfo newPackageInfo)
        {
            m_IsFullyFetched = m_Version == newPackageInfo.version;
            m_PackageInfo    = newPackageInfo;
            m_Source         = m_PackageInfo.source == PackageSource.BuiltIn || m_IsInstalled ? m_PackageInfo.source : PackageSource.Registry;

            RefreshTags();

            m_Author = string.IsNullOrEmpty(m_PackageInfo.author.name) &&
                       m_PackageInfo.name.StartsWith(k_UnityPrefix) ? "Unity Technologies Inc." : m_PackageInfo.author.name;

            if (m_Source == PackageSource.BuiltIn)
            {
                m_Description = UpmPackageDocs.SplitBuiltinDescription(this)[0];
            }

            // reset sample parse status on package info update, such that the sample list gets regenerated
            m_SamplesParsed = false;

            if (m_IsFullyFetched)
            {
                m_DisplayName = GetDisplayName(m_PackageInfo);
                m_PackageId   = m_PackageInfo.packageId;
                if (hasPathInId)
                {
                    m_PackageId = m_PackageId.Replace("\\", "/");
                }
            }
            else
            {
                m_PackageId = FormatPackageId(name, version.ToString());
            }
        }
示例#2
0
        internal void UpdatePackageInfo(PackageInfo newPackageInfo)
        {
            m_IsFullyFetched  = m_Version == newPackageInfo.version;
            m_PackageInfo     = newPackageInfo;
            m_PackageUniqueId = m_PackageInfo.name;

            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 = string.IsNullOrEmpty(m_PackageInfo.author.name) &&
                       m_PackageInfo.name.StartsWith(k_UnityPrefix) ? "Unity Technologies Inc." : m_PackageInfo.author.name;

            if (HasTag(PackageTag.BuiltIn))
            {
                m_Description = UpmPackageDocs.SplitBuiltinDescription(this)[0];
            }

            // reset sample parse status on package info update, such that the sample list gets regenerated
            m_SamplesParsed = false;

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