少年修仙传客户端代码仓库
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
using vnxbqy.UI;
using System.Collections;
using System.Collections.Generic;
 
using UnityEngine;
using UnityEngine.UI;
namespace EnhancedUI.EnhancedScroller
{
    
    public class FairyMemberCell : ScrollerUI
    {
        FairyModel m_Model;
        FairyModel model {
            get {
                return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<FairyModel>());
            }
        }
 
        KingFairyModel m_KingFairyModel;
        KingFairyModel kingFairyModel {
            get {
                return m_KingFairyModel ?? (m_KingFairyModel = ModelCenter.Instance.GetModel<KingFairyModel>());
            }
        }
 
        [SerializeField] Text m_NameTxt;
        [SerializeField] Text m_LvTxt;
        [SerializeField] Text m_DutyTxt;
        [SerializeField] Text m_TimeTxt;
        [SerializeField] Text m_ContributeTxt;
        [SerializeField] Image m_RealmImg;
        [SerializeField] Button m_AllotBtn;
 
        public override void Refresh(CellView cell)
        {
            int index = cell.index;
            if (index < 0 || index >= model.sortFairyMembers.Count)
            {
                return;
            }
            var fairyMember = model.sortFairyMembers[index];
            if (fairyMember == null)
            {
                return;
            }
            m_NameTxt.text = fairyMember.Name;
            m_NameTxt.color = UIHelper.GetUIColor(fairyMember.PlayerID == PlayerDatas.Instance.PlayerId ?
                TextColType.Green : TextColType.NavyBrown, true);
            int realmLv = fairyMember.OfficialRank;
            if (realmLv > 0 && RealmConfig.Has(realmLv))
            {
                var realmConfig = RealmConfig.Get(realmLv);
                m_RealmImg.SetActive(true);
                m_RealmImg.SetSprite(realmConfig.Img);
            }
            else
            {
                m_RealmImg.SetActive(false);
            }
 
            m_LvTxt.text = fairyMember.LV.ToString();
            m_DutyTxt.text = Language.Get(string.Format("L102{0}", fairyMember.FamilyLV + 1));
            m_ContributeTxt.text = fairyMember.FamilyActiveValue.ToString();
            if (fairyMember.Exattr2 == 0)
            {
                m_TimeTxt.text = Language.Get("L1025");
            }
            else if (fairyMember.Exattr2 == 1)
            {
                m_TimeTxt.text = Language.Get("L1140");
            }
            else
            {
                m_TimeTxt.text = UIHelper.GetFadeTime(fairyMember.Exattr2) + Language.Get("L1026");
            }
            if (model.IsOnAllot && m_AllotBtn != null)
            {
                m_AllotBtn.RemoveAllListeners();
                m_AllotBtn.onClick.AddListener(() =>
                {
                    OnAllot(fairyMember);
                });
            }
        }
 
        private void OnAllot(PlayerFairyData.FairyMember member)
        {
            kingFairyModel.AllotMultipleWinAward((int)member.PlayerID);
        }
    }
}