少年修仙传客户端代码仓库
hch
2025-06-12 204ef05a831c9484e2abc561d27ecbff7c797453
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
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
namespace vnxbqy.UI
{
    public class CZBMCell : CellView
    {
        //购买列表
 
        [SerializeField] ItemCell[] m_Items;
        [SerializeField] Text m_GiftName;
        [SerializeField] Text m_GiftLimitTxt;
        [SerializeField] Image m_StateImg;
        [SerializeField] Button m_GetBtn;
        [SerializeField] Text m_BtnTxt;
        TextEx orgPrice;
 
        CZBMModel model { get { return ModelCenter.Instance.GetModel<CZBMModel>(); } }
        VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
        public void Display(int index)
        {
            OperationBase operationBase;
            if (OperationTimeHepler.Instance.TryGetOperationTime(Operation.CZBMGift, out operationBase))
            {
                OperationCZBM operation = operationBase as OperationCZBM;
                
                int ctgID = (int)operation.CZBMGiftInfo[model.selectIndex].BuyCTGIDList[index].CTGID;
                var ctgInfo = CTGConfig.Get(ctgID);
                OrderInfoConfig orderInfoConfig;
                if (vipModel.TryGetOrderInfo(ctgID, out orderInfoConfig))
                {
                    m_BtnTxt.text = Language.Get("PriceBuy", UIHelper.GetMoneyFormat(orderInfoConfig.PayRMBNum));
 
                    var obj = m_GetBtn.FindComponent("Text", "Txt_orgPrice");
                    if (obj != null)
                        orgPrice = obj as TextEx;
 
                    if (orgPrice != null)
                    {
                        orgPrice.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off);
                        orgPrice.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(orderInfoConfig.m_PayRMBNum));
                    }
 
                    m_GetBtn.SetListener(()=>{
                        if (index != operation.CZBMGiftInfo[model.selectIndex].PlayerBuyIndex)
                        {
                            int ctgID2 = (int)operation.CZBMGiftInfo[model.selectIndex].BuyCTGIDList[operation.CZBMGiftInfo[model.selectIndex].PlayerBuyIndex].CTGID;
                            var ctgInfo2 = CTGConfig.Get(ctgID2);
                            SysNotifyMgr.Instance.ShowTip("CZBMLimit", ctgInfo2.Title);
                            return;
                        }
                        vipModel.CTG(ctgID);
                    });
                }
 
                //显示物品
                var _list = model.GetGiftsByCTGID(ctgID);
                for (int i = 0; i < m_Items.Length; i++)
                {
                    if (i >= _list.Length)
                    {
                        m_Items[i].SetActive(false);
                        continue;
                    }
                    m_Items[i].SetActive(true);
                    
                    var itemID = (int)_list[i].ItemID;
                    var ItemCell = m_Items[i];
                    var Item = ItemConfig.Get(itemID);
                    ItemCellModel cellModel = new ItemCellModel(itemID, true, (ulong)_list[i].ItemCount);
                    ItemCell.Init(cellModel);
                    ItemCell.button.RemoveAllListeners();
                    ItemCell.button.AddListener(() =>
                    {
                        ItemTipUtility.Show(itemID);
                    });
 
                }
 
 
                m_GiftName.text = ctgInfo.Title;
                if (index == 0)
                {
                    m_GiftLimitTxt.text = string.Empty;
                }
                else
                {
                    int ctgID1 = (int)operation.CZBMGiftInfo[model.selectIndex].BuyCTGIDList[index - 1].CTGID;
                    var ctgInfo1 = CTGConfig.Get(ctgID1);
                    m_GiftLimitTxt.text = Language.Get("CZBMLimit", ctgInfo1.Title);
                }
 
                m_StateImg.SetActive(index < operation.CZBMGiftInfo[model.selectIndex].PlayerBuyIndex);
                m_GetBtn.SetActive(index > operation.CZBMGiftInfo[model.selectIndex].PlayerBuyIndex);
            
                //今日是否已购买
                if (index == operation.CZBMGiftInfo[model.selectIndex].PlayerBuyIndex)
                {
                    VipModel.RechargeCount _rechargeCount;
                    if (vipModel.TryGetRechargeCount(ctgID, out _rechargeCount))
                    {
                        m_StateImg.SetActive(_rechargeCount.todayCount > 0);
                        m_GetBtn.SetActive(_rechargeCount.todayCount == 0);
                    
                    }
 
                }
            }
        }
    }
}