yyl
4 天以前 9e89e605d5429babb4b33df2e47ea86dff9d2ba7
Main/System/Recharge/PrivilegeCardWin.cs
@@ -5,129 +5,36 @@
//特权卡
public class PrivilegeCardWin : UIBase
{
    [SerializeField] GroupButtonEx djqBtn;
    [SerializeField] GroupButtonEx goldBtn;
    [SerializeField] ScrollerController djqScroller;
    [SerializeField] ScrollerController goldScroller;
    [SerializeField] Transform djqInfo;
    List<int> _list = new List<int>();
    protected override void InitComponent()
    {
        djqBtn.AddListener(() => { OnSelectFuncType(0); });
        goldBtn.AddListener(() => { OnSelectFuncType(1); });
    }
    //月卡
    [SerializeField] PrivilegeCardCell monthObj;
    [SerializeField] PrivilegeCardCell foreverObj;
    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();
        InvestModel.Instance.onInvestUpdate += OnInvestUpdate;
        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
        monthObj.Display(1);
        foreverObj.Display(2);
    }
    protected override void OnPreClose()
    {
        djqScroller.OnRefreshCell -= OnDjqRefreshCell;
        goldScroller.OnRefreshCell -= OnGoldRefreshCell;
        RechargeManager.Instance.rechargeCountEvent -= RechargeEvent;
    }
        InvestModel.Instance.onInvestUpdate -= OnInvestUpdate;
        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
    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)
    void OnInvestUpdate(int type)
    {
        monthObj.Display(1);
        foreverObj.Display(2);
    }
        RechargeManager.Instance.selectTabIndex = index;
        Display();
    void OnSecondEvent()
    {
        monthObj.UpdateTime(1);
    }
}