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"); } }