using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; //充值界面 public class RechargeWin : UIBase { [SerializeField] GroupButtonEx djqBtn; [SerializeField] GroupButtonEx goldBtn; [SerializeField] ScrollerController djqScroller; [SerializeField] ScrollerController goldScroller; [SerializeField] Transform djqInfo; List _list = new List(); protected override void InitComponent() { djqBtn.AddListener(() => { OnSelectFuncType(0); }); goldBtn.AddListener(() => { OnSelectFuncType(1); }); } protected override void OnPreOpen() { djqScroller.OnRefreshCell += OnDjqRefreshCell; goldScroller.OnRefreshCell += OnGoldRefreshCell; RechargeManager.Instance.rechargeCountEvent += RechargeEvent; if (RechargeManager.Instance.selectTabIndex == 0) { djqBtn.SelectBtn(); } else if (RechargeManager.Instance.selectTabIndex == 1) { goldBtn.SelectBtn(); } Display(); } protected override void OnPreClose() { djqScroller.OnRefreshCell -= OnDjqRefreshCell; goldScroller.OnRefreshCell -= OnGoldRefreshCell; RechargeManager.Instance.rechargeCountEvent -= RechargeEvent; } void RechargeEvent(int id) { Display(); } void Display() { CreateScroller(); } void CreateScroller() { if (RechargeManager.Instance.selectTabIndex == 0) { _list = RechargeManager.Instance.GetCTGIDListByType(17); djqScroller.SetActive(true); djqInfo.SetActive(true); goldScroller.SetActive(false); if (djqScroller.GetCellTotalCount() == 0) { djqScroller.Refresh(); for (int i = 0; i < _list.Count; i++) { if (i % 3 == 0) { djqScroller.AddCell(ScrollerDataType.Header,i); } } djqScroller.Restart(); } else { djqScroller.m_Scorller.RefreshActiveCellViews(); } } else if (RechargeManager.Instance.selectTabIndex == 1) { _list = RechargeManager.Instance.GetCTGIDListByType(2); djqScroller.SetActive(false); djqInfo.SetActive(false); goldScroller.SetActive(true); if (goldScroller.GetCellTotalCount() == 0) { goldScroller.Refresh(); for (int i = 0; i < _list.Count; i++) { if (i % 3 == 0) { goldScroller.AddCell(ScrollerDataType.Header, i); } } goldScroller.Restart(); } else { goldScroller.m_Scorller.RefreshActiveCellViews(); } } } void OnDjqRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell as RechargeDJQLineCell; _cell.Display(cell.index, _list); } void OnGoldRefreshCell(ScrollerDataType type, CellView cell) { var _cell = cell as RechargeGoldLineCell; _cell.Display(cell.index, _list); } void OnSelectFuncType(int index) { RechargeManager.Instance.selectTabIndex = index; Display(); } }