using System.Collections.Generic; using UnityEngine; public abstract class OSRankGiftBaseWin : UIBase { [SerializeField] protected ScrollerController scrollerController; protected override void OnPreOpen() { scrollerController.OnRefreshCell += OnRefreshCell; StoreModel.Instance.RefreshBuyShopLimitEvent += RefreshStore; RechargeManager.Instance.rechargeCountEvent += OnRechargeCountEvent; RefreshManagerSortList(); Display(); } protected override void OnPreClose() { scrollerController.OnRefreshCell -= OnRefreshCell; StoreModel.Instance.RefreshBuyShopLimitEvent -= RefreshStore; RechargeManager.Instance.rechargeCountEvent -= OnRechargeCountEvent; } protected abstract void RefreshManagerSortList(); protected abstract IList GetGiftSortList(); protected abstract void OnRefreshCell(ScrollerDataType type, CellView cell); protected void Display() { scrollerController.Refresh(); var list = GetGiftSortList(); for (int i = 0; i < list.Count; i++) { scrollerController.AddCell(ScrollerDataType.Header, i); } scrollerController.Restart(); } protected void RefreshStore() { scrollerController.m_Scorller.RefreshActiveCellViews(); } protected void OnRechargeCountEvent(int id) { scrollerController.m_Scorller.RefreshActiveCellViews(); } }