/* * FancyScrollView (https://github.com/setchi/FancyScrollView) * Copyright (c) 2020 setchi * Licensed under MIT (https://github.com/setchi/FancyScrollView/blob/master/LICENSE) */ using System.Linq; namespace UnityEngine.UI.Extensions.Examples.FancyScrollViewExample04 { class Example04 : MonoBehaviour { [SerializeField] ScrollView scrollView = default; [SerializeField] Button prevCellButton = default; [SerializeField] Button nextCellButton = default; [SerializeField] Text selectedItemInfo = default; void Start() { prevCellButton.onClick.AddListener(scrollView.SelectPrevCell); nextCellButton.onClick.AddListener(scrollView.SelectNextCell); scrollView.OnSelectionChanged(OnSelectionChanged); var items = Enumerable.Range(0, 20) .Select(i => new ItemData($"Cell {i}")) .ToList(); scrollView.UpdateData(items); scrollView.UpdateSelection(10); scrollView.JumpTo(10); } void OnSelectionChanged(int index) { selectedItemInfo.text = $"Selected item info: index {index}"; } } }