lcy
2 天以前 ca577b96e0022e0ddaa8e106e147e53d8166df1c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
using System.Collections.Generic;
using System.Linq;
using UnityEngine;
using UnityEngine.UI;
 
//周战令
public class WeekBattlePassWin : UIBase
{
    [SerializeField] Text totalActivityText;
    [SerializeField] Text timeText;
    [SerializeField] ScrollerController scroller;
    [SerializeField] Transform lockRect;
    [SerializeField] Button buyBtn;
    [SerializeField] Text buyText;
 
    BattlePassData battlePassData;
 
 
    protected override void InitComponent()
    {
        buyBtn.AddListener(() =>
        {
            RechargeManager.Instance.CTG(BattlePassManager.Instance.GetCTGIDByType(BattlePassManager.WeekBattlePassType));
        });
    }
    protected override void OnPreOpen()
    {
        battlePassData = BattlePassManager.Instance.GetBattlePassData(BattlePassManager.WeekBattlePassType);
        if (battlePassData == null) return;
        scroller.OnRefreshCell += OnRefreshCell;
        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
        BattlePassManager.Instance.BattlePassDataUpdateEvent += BattlePassDataUpdateEvent;
        CreateScroller();
        Display();
 
 
    }
 
    protected override void OnPreClose()
    {
        scroller.OnRefreshCell -= OnRefreshCell;
        GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
        BattlePassManager.Instance.BattlePassDataUpdateEvent -= BattlePassDataUpdateEvent;
 
    }
 
    void OnSecondEvent()
    {
        //按开服天 7天一个循环
        var day = 7 - (TimeUtility.OpenDay % 7) - 1;
        if (day == 0)
        {
            timeText.text = Language.Get("GoldRush29") + TimeUtility.SecondsToShortDHMS((int)(TimeUtility.GetTodayEndTime() - TimeUtility.ServerNow).TotalSeconds);
        }
        else
        {
            timeText.text = Language.Get("GoldRush29") + day + Language.Get("L1074");
        }
    }
 
    void BattlePassDataUpdateEvent(int type)
    {
        if (type == BattlePassManager.WeekBattlePassType)
        {
            Display();
        }
    }
 
 
    void Display()
    {
        totalActivityText.text = battlePassData.value1.ToString();
        lockRect.SetActive(battlePassData.isActivite == 0);
        scroller.m_Scorller.RefreshActiveCellViews();
 
        if (battlePassData.isActivite == 0)
        {
            var ctgID = BattlePassManager.Instance.GetCTGIDByType(BattlePassManager.WeekBattlePassType);
            RechargeManager.Instance.TryGetOrderInfo(ctgID, out var orderInfoConfig);
            buyText.text = Language.Get("PayMoneyNum", orderInfoConfig.PayRMBNumOnSale);
            buyBtn.SetInteractable(true);
        }
        else
        {
            buyText.text = Language.Get("L1133");
            buyBtn.SetInteractable(false);
        }
    }
 
 
    void CreateScroller()
    {
        scroller.Refresh();
        var values = ZhanlingConfig.GetTypeToIDDict(BattlePassManager.WeekBattlePassType).Values.ToList();
        values.Sort();
        for (int i = 0; i < values.Count; i++)
        {
            scroller.AddCell(ScrollerDataType.Header, values[i]);
        }
        scroller.Restart();
 
        scroller.JumpIndex(BattlePassManager.Instance.JumpIndex(battlePassData, BattlePassManager.WeekBattlePassType, (int)battlePassData.value1));
    }
 
 
    void OnRefreshCell(ScrollerDataType type, CellView cell)
    {
        var _cell = cell as WeekBattlePassCell;
        _cell.Display(cell.index, battlePassData);
    }
}