少年修仙传客户端代码仓库
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
//--------------------------------------------------------
//    [Author]:           第二世界
//    [  Date ]:           Wednesday, February 27, 2019
//--------------------------------------------------------
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
 
namespace vnxbqy.UI
{
 
    public class CandidateEquipBehaviour : ScrollItem
    {
        [SerializeField] ImageEx m_BackGround;
        [SerializeField] Image m_UnLockLabel;
        [SerializeField] ItemCell m_ItemCell;
        [SerializeField] Text m_EquipName;
        [SerializeField] Text m_EquipSorce;
        [SerializeField] Button m_Select;
        [SerializeField] RectTransform m_SelectedContainer;
        [SerializeField] Material m_NormalMaterial;
        [SerializeField] Material m_GrayMaterial;
 
        EquipModel model { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
 
        CandidateEquip candidateEquip;
 
        public override void Display(object _data)
        {
            base.Display(_data);
            this.candidateEquip = (CandidateEquip)_data;
 
            DisplayBaseInfo();
            DisplayDynamicInfo(true);
            m_Select.SetListener(OpenItemTipWin);
        }
 
        public override void Dispose()
        {
            candidateEquip = null;
        }
 
        private void LateUpdate()
        {
            DisplayDynamicInfo(false);
        }
 
        private void DisplayBaseInfo()
        {
            var equip = packModel.GetItemByGuid(this.candidateEquip.guid);
            m_ItemCell.Init(equip, true);
            m_ItemCell.button.enabled = false;
 
            var isEquipLevelUnlocked = model.IsLevelUnLocked(equip.config.LV);
 
            m_BackGround.material = isEquipLevelUnlocked ? m_NormalMaterial : m_GrayMaterial;
            m_UnLockLabel.SetActive(!isEquipLevelUnlocked);
            m_EquipName.text = equip.config.ItemName;
            m_EquipName.color = UIHelper.GetUIColor(equip.config.ItemColor, true);
            m_EquipSorce.text = Language.Get("DogzFunc106", equip.score);
 
            var isBetter = model.CompareToCurrent(this.candidateEquip.guid) > 0;
            m_EquipSorce.color = UIHelper.GetUIColor(isBetter ? TextColType.Green : TextColType.Red, true);
        }
 
        private void DisplayDynamicInfo(bool force)
        {
            if (force || candidateEquip.selected.dirty)
            {
                m_SelectedContainer.SetActive(candidateEquip.selected.Fetch());
            }
        }
 
        private void OpenItemTipWin()
        {
            ItemTipUtility.Show(this.candidateEquip.guid);
            if (this.candidateEquip.selected.value)
            {
                model.ClearRecommendCandidateEquip();
            }
        }
 
    }
 
}