Beispiel #1
0
        public void Refresh(VisualState newVisualState = null)
        {
            var previousVisualState = visualState?.Clone() ?? new VisualState(package?.uniqueId, string.Empty, false);

            visualState = newVisualState?.Clone() ?? visualState ?? new VisualState(package?.uniqueId, string.Empty, false);

            EnableInClassList("invisible", !visualState.visible);
            m_NameLabel.text    = targetVersion?.displayName ?? string.Empty;
            m_VersionLabel.text = targetVersion.versionString ?? string.Empty;

            if (m_NumPackagesInFeature != null)
            {
                m_NumPackagesInFeature.text = string.Format(L10n.Tr("{0} packages"), package.versions.primary?.dependencies?.Length ?? 0);
            }

            var expandable = !package.Is(PackageType.BuiltIn | PackageType.Feature | PackageType.AssetStore) && (newVisualState?.expandable ?? true);

            UIUtils.SetElementDisplay(m_ArrowExpander, expandable);
            UIUtils.SetElementDisplay(m_ExpanderHidden, !expandable && !visualState.isLocked);

            var showVersionLabel = !package.Is(PackageType.BuiltIn | PackageType.Feature);

            UIUtils.SetElementDisplay(m_VersionLabel, showVersionLabel);

            UIUtils.SetElementDisplay(m_LockedIcon, false);

            if (!expandable && UIUtils.IsElementVisible(m_VersionsContainer))
            {
                UpdateExpanderUI(false);
            }
            else
            {
                UpdateExpanderUI(visualState.expanded);
            }

            UpdateLockedUI(visualState.isLocked, expandable);

            var showVersionList = !targetVersion.HasTag(PackageTag.BuiltIn) && !string.IsNullOrEmpty(package.displayName);

            UIUtils.SetElementDisplay(m_VersionList, showVersionList);

            var version = selectedVersion;

            if (version != null && version != targetVersion)
            {
                visualState.seeAllVersions = visualState.seeAllVersions || !package.versions.key.Contains(version);
            }

            RefreshState();

            if (showVersionList)
            {
                RefreshVersions();
            }

            RefreshSelection();
            RefreshTags();
            RefreshEntitlement();
        }
        public void Refresh(VisualState newVisualState = null)
        {
            var previousVisualState = visualState?.Clone() ?? new VisualState(package?.uniqueId, string.Empty, false);

            visualState = newVisualState?.Clone() ?? visualState ?? new VisualState(package?.uniqueId, string.Empty, false);

            EnableInClassList("invisible", !visualState.visible);
            m_NameLabel.text    = targetVersion?.displayName ?? string.Empty;
            m_VersionLabel.text = targetVersion.versionString ?? string.Empty;

            if (m_NumPackagesInFeature != null)
            {
                m_NumPackagesInFeature.text = string.Format(L10n.Tr("{0} packages"), package.versions.primary?.dependencies?.Length ?? 0);
            }

            UIUtils.SetElementDisplay(m_ExpanderHidden, !visualState.isLocked);

            var showVersionLabel = !package.Is(PackageType.BuiltIn | PackageType.Feature);

            UIUtils.SetElementDisplay(m_VersionLabel, showVersionLabel);

            UIUtils.SetElementDisplay(m_LockedIcon, false);
            UIUtils.SetElementDisplay(m_DependencyIcon, false);

            UpdateLockedUI(visualState.isLocked);
            UpdateDependencyUI(visualState.isLocked);

            var version = selectedVersion;

            if (version != null && version != targetVersion)
            {
                visualState.seeAllVersions = visualState.seeAllVersions || !package.versions.key.Contains(version);
            }

            RefreshState();
            RefreshSelection();
            RefreshTags();
            RefreshEntitlement();
        }