Пример #1
0
        public PackageGroup(ResourceLoader resourceLoader, PageManager pageManager, PackageManagerProjectSettingsProxy settingsProxy, PackageDatabase packageDatabase, string groupName, string displayName, bool expanded = true, bool hidden = false)
        {
            ResolveDependencies(resourceLoader, pageManager, settingsProxy, packageDatabase);

            name = groupName;
            var root = m_ResourceLoader.GetTemplate("PackageGroup.uxml");

            Add(root);
            m_Cache = new VisualElementCache(root);

            headerCaret.SetValueWithoutNotify(expanded);
            EnableInClassList("collapsed", !expanded);
            headerCaret.RegisterValueChangedCallback((evt) =>
            {
                m_PageManager.SetGroupExpanded(groupName, evt.newValue);
                EnableInClassList("collapsed", !evt.newValue);
                EditorApplication.delayCall += () => onGroupToggle?.Invoke(evt.newValue);
            });

            headerTag.pickingMode = PickingMode.Ignore;
            headerCaret.text      = displayName;

            isHidden = hidden;
            if (isHidden)
            {
                AddToClassList("hidden");
            }
        }