using UnityEngine; public class FunctionPreviewWin : UIBase { [SerializeField] ScrollerController scroller; protected override void OnPreOpen() { scroller.lockType = EnhanceLockType.KeepVertical; scroller.OnRefreshCell += OnRefreshCell; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; CreateScoller(); } protected override void OnPreClose() { scroller.OnRefreshCell -= OnRefreshCell; FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; } private void OnFuncStateChangeEvent(int obj) { CreateScoller(); } private void OnRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell.GetComponent(); _cell?.Display(cell.index, cell); } private void CreateScoller() { scroller.Refresh(); var list = FuncOpen.Instance.GetSortShowList(); if (!list.IsNullOrEmpty()) { for (int i = 0; i < list.Count; i++) { CellInfo info = new CellInfo(); info.infoInt1 = list[i]; scroller.AddCell(ScrollerDataType.Header, i, info); } } scroller.Restart(); } }