using UnityEngine; using UVC.UI.Window; using UVC.UI.List.Accordion; public class AccordionSample : MonoBehaviour { [SerializeField] private AccordionWindow accordionWindow; void Start() { if (accordionWindow == null) { accordionWindow = FindObjectOfType(); } var data = new AccordionData(); // Horizontal section var sec1 = new AccordionSectionData { Title = "Settings", IsExpanded = true, LayoutType = AccordionItemLayoutType.Horizontal }; sec1.Items.Add(new AccordionHorizontalItemData { Head = AccordionContentSpec.FromImage(null), Content = AccordionContentSpec.FromText("Graphics"), Tail = AccordionContentSpec.FromIconButton(null, () => Debug.Log("Edit Graphics")) }); sec1.Items.Add(new AccordionHorizontalItemData { Head = AccordionContentSpec.FromImage(null), Content = AccordionContentSpec.FromText("Audio"), Tail = AccordionContentSpec.FromIconButton(null, () => Debug.Log("Edit Audio")) }); data.Sections.Add(sec1); // Grid section var sec2 = new AccordionSectionData { Title = "Presets", IsExpanded = true, LayoutType = AccordionItemLayoutType.Grid }; sec2.Items.Add(new AccordionGridItemData { Caption = "Low" }); sec2.Items.Add(new AccordionGridItemData { Caption = "Medium" }); sec2.Items.Add(new AccordionGridItemData { Caption = "High" }); data.Sections.Add(sec2); if (accordionWindow != null) { accordionWindow.SetData(data); } } }