少年修仙传客户端代码仓库
hch
2025-07-24 50e53441950268933694eeb5aad36147bbe1014d
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
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
namespace vnxbqy.UI
{
    public class MonthWeekInvestCell : CellView
    {
        [SerializeField] ItemBehaviour m_Item;
        [SerializeField] Text m_Description;
        [SerializeField] Text m_Count;
        [SerializeField] Text m_Income;
        [SerializeField] Transform m_ContainerUnReach;
        [SerializeField] Transform m_ContainerReward;
        [SerializeField] Button m_Func;
        [SerializeField] Transform m_ContainerGot;
        [SerializeField] Transform m_ContainerOverdue;
 
        MonthWeekInvestModel model
        {
            get { return ModelCenter.Instance.GetModel<MonthWeekInvestModel>(); }
        }
        
        public void Display(int id)
        {
            Image moneyImg = this.GetComponent<Image>("Img_MoneyIcon");
            if (model.selectType == 8)
                moneyImg.SetSprite("SmallMoney1");
            else
                moneyImg.SetSprite("SmallMoney2");
 
            List<Item> items;
            if (model.TryGetItems(model.selectType, id, out items))
            {
                var item = items[0];
                m_Item.SetItem(item.id, 0);
                var config = InvestConfig.Get(id);
                //if (config.needDay == 1)
                //{
                //    m_Description.text = Language.Get("MonthWeekFirstIncome", item.count);
                //}
                //else
                //{
                //}
                if (model.selectType == 8)
                    m_Description.text = Language.Get("MonthWeekDailyIncome1", config.needDay, item.count);
                else
                    m_Description.text = Language.Get("MonthWeekDailyIncome", config.needDay, item.count);
                m_Count.text = item.count.ToString();
 
                var state = model.GetSingleInvestState(model.selectType, id);
 
                m_ContainerUnReach.SetActive(state == 1);
                m_ContainerReward.SetActive(state == 2);
                m_ContainerGot.SetActive(state == 3);
                m_ContainerOverdue.SetActive(state == 4);
 
                var rate = model.GetIncomeRate(model.selectType, config.needDay);
                var lastRate = (int)model.GetIncomeRate(model.selectType, config.needDay - 1);
 
                if ((int)rate != lastRate)
                {
                    m_Income.text = Language.Get("MonthWeekIncomeRate", ((int)(rate * 10) / 10.0f).ToString("0.#"));
                }
                else
                {
                    m_Income.text = string.Empty;
                }
 
                switch (state)
                {
                    case 2:
                        m_Func.SetListener(() =>
                        {
                            model.SendGetReward(model.selectType, id);
                        });
                        break;
                }
            }
        }
    }
}