少年修仙传客户端代码仓库
lcy
2024-12-16 a39c35fc6449430cd02bccb681c4a0a880e46cd9
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
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
using vnxbqy.UI;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
public class NeedForWhiteCell : ILBehaviour
{
    Text goodsName;
    List<ItemCell> items = new List<ItemCell>();
    Text addPower;
    Text Text_Day;
    Image StateOver;
    Image StateBuy;
    Image StateGot;
 
    Button Btn_Buy;
    Button Btn_Get;
    Text PriceBuy;
    Text TimeText;
    RectTransform PowerObject;
 
    int goodsID;
    protected override void Awake() 
    {
 
        goodsName = proxy.GetWidgtEx<Text>("Text_Name");
        items.Clear();
        items.Add(proxy.GetWidgtEx<ItemCell>("ItemCell1"));
        items.Add(proxy.GetWidgtEx<ItemCell>("ItemCell2"));
        items.Add(proxy.GetWidgtEx<ItemCell>("ItemCell3"));
        addPower = proxy.GetWidgtEx<Text>("Text_AddPower");
        Text_Day = proxy.GetWidgtEx<Text>("Text_Day");
        StateOver = proxy.GetWidgtEx<Image>("over");
        StateBuy = proxy.GetWidgtEx<Image>("buyyet");
        StateGot = proxy.GetWidgtEx<Image>("gotyet");
        Btn_Buy = proxy.GetWidgtEx<Button>("Button_Buy");
        Btn_Get = proxy.GetWidgtEx<Button>("Button_Get");
        PriceBuy = proxy.GetWidgtEx<Text>("Text_NeedMoeny");
        TimeText = proxy.GetWidgtEx<Text>("TimeText");
        PowerObject = proxy.GetWidgtEx<RectTransform>("PowerObject");
    }
    protected override void OnEnable()
    {
        GlobalTimeEvent.Instance.secondEvent += RefreshSecond;
        NeedForWhiteModel.Instance.UpdateNeedForWhiteEvent += UpdateNeedForWhiteEvent;
    }
 
    protected override void OnDisable()
    {
        GlobalTimeEvent.Instance.secondEvent -= RefreshSecond;
        NeedForWhiteModel.Instance.UpdateNeedForWhiteEvent -= UpdateNeedForWhiteEvent;
    }
 
    public void Display(int id)
    {
        goodsID = id;
        var goods = NeedForWhiteModel.Instance.NeedForWhiteDic[id];
        goodsName.text = goods.Name;
        var awards = goods.AwardItem.GetAwardItem(PlayerDatas.Instance.baseData.Job);
        for (int i = 0; i < items.Count; i++)
        {
            if (i < awards.Count)
            {
                items[i].SetActiveIL(true);
                var itemId = awards[i].id;
                var model = new ItemCellModel(itemId, false, (ulong)awards[i].count);
                items[i].Init(model);
                items[i].auctionIcon.SetActiveIL(awards[i].bind != 0);
                items[i].button.SetListener(() =>
                {
                    ItemTipUtility.Show(itemId);
                });
            }
            else
            {
                items[i].SetActiveIL(false);
            }
        }
        PriceBuy.text = goods.NeedMoney.ToString();
        addPower.text = goods.AddPower.ToString();
        PowerObject.SetActiveIL(goods.AddPower > 0);
        Text_Day.text = goods.Day.ToString();
        //-1 未购买  -2已领取 -3可领取 -4过期 其他数值为倒计时时间秒
        var state = NeedForWhiteModel.Instance.GetState(id);
        StateOver.SetActiveIL(state == -4);
        StateBuy.SetActiveIL(state != -1 && state != -4);
        StateGot.SetActiveIL(state == -2);
 
        Btn_Buy.SetActiveIL(state == -1);
        Btn_Buy.SetListener(BuyJP);
        Btn_Get.SetActiveIL(state == -3);
        Btn_Get.SetListener(()=> {
            NeedForWhiteModel.Instance.BuyReceive(goodsID);
        });
        TimeText.SetActiveIL(state > 0);
        if (state > 0)
        {
            TimeText.text = Language.Get("jpbnget", TimeUtility.SecondsToDHMS(state));
        }
    }
 
    private void RefreshSecond()
    {
        //-1 未购买  -2已领取 -3可领取 -4过期 其他数值为倒计时时间秒
        var state = NeedForWhiteModel.Instance.GetState(goodsID);
        TimeText.SetActiveIL(state > 0);
        if (state > 0)
        {
            TimeText.text = Language.Get("jpbnget", TimeUtility.SecondsToDHMS(state));
        }
    }
 
    void BuyJP()
    {
        var NeedForWhite = NeedForWhiteModel.Instance.NeedForWhiteDic[goodsID];
        int Money = (int)UIHelper.GetMoneyCnt(1);
        if (Money >= NeedForWhite.NeedMoney)
        {
            ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), string.Format(Language.Get("Consumption_Tips"),
             NeedForWhite.NeedMoney, NeedForWhite.Name, NeedForWhite.NeedMoney, NeedForWhite.Day), (bool isOk) =>
             {
                 if (isOk)
                 {
                     NeedForWhiteModel.Instance.BuyReceive(goodsID);
                 }
             });
        }
        else
        {
            WindowCenter.Instance.Open<RechargeTipWin>();
        }
    }
 
    void UpdateNeedForWhiteEvent()
    {
        Display(goodsID);
    }
 
}