Files
XRLib/Assets/Scenes/Sample/AccordionSample.cs

58 lines
1.7 KiB
C#
Raw Normal View History

2025-11-04 20:09:18 +09:00
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<AccordionWindow>();
}
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);
}
}
}