少年修仙传客户端代码仓库
client_Wu Xijin
2019-06-13 033958214c0b16d7e7b93cc821b018c295251867
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
using System.Collections;
using System.Collections.Generic;
 
using UnityEngine;
using UnityEngine.UI;
 
namespace Snxxz.UI
{
    [XLua.Hotfix]
    public class PropertyBehaviour : MonoBehaviour
    {
        [SerializeField] Text m_PropertyName;
        [SerializeField] Text m_PropertyValue;
        [SerializeField] Text m_PropertyAdd;
 
        public void Display(int _property, int _value)
        {
            m_PropertyName.text = GetPropertyName(_property);
            m_PropertyValue.text = GetValueLabel(_property, _value);
        }
 
        public void DisplayUpper(int _property, int _value)
        {
            m_PropertyName.text = GetPropertyName(_property);
            m_PropertyValue.text = GetAddValueLabel(_property, _value);
        }
 
        public void DisplayAdd(int _property, int _value, int _add)
        {
            m_PropertyName.text = StringUtility.Contact(GetPropertyName(_property), ":");
            m_PropertyValue.text = GetValueLabel(_property, _value);
            DisplayAddLabel(_property, _add);
        }
 
        public void DisplayRealm(int _property, int _value, int _add)
        {
            m_PropertyName.text = GetPropertyName(_property);
            m_PropertyValue.text = GetValueLabel(_property, _value);
            m_PropertyAdd.text = GetValueLabel(_property, _add);
        }
 
        public void DisplayGodWeaponAdd(int _property, int _value, int _add)
        {
            m_PropertyName.text = GetPropertyName(_property);
            m_PropertyValue.text = GetValueLabel(_property, _value);
            DisplayAddLabel(_property, _add);
        }
 
        public void DisplayUp(int _property, int _value, int _add)
        {
            m_PropertyName.text = GetPropertyName(_property);
            m_PropertyValue.text = GetAddValueLabel(_property, _value);
            DisplayAddLabel(_property, _add);
        }
 
        public void DisplayGem(int _property, int _value)
        {
            m_PropertyName.text = GetPropertyName(_property);
            m_PropertyValue.text = StringUtility.Contact("+",
                PlayerPropertyConfig.GetValueDescription(_property, _value, false));
        }
 
        string GetPropertyName(int property)
        {
            var config = PlayerPropertyConfig.Get(property);
            if (config != null)
            {
                return config.Name;
            }
            return string.Empty;
        }
 
        void DisplayAddLabel(int _property, int _value)
        {
            if (_value == 0)
            {
                m_PropertyAdd.text = string.Empty;
            }
            else
            {
                m_PropertyAdd.text = GetAddValueLabel(_property, _value);
            }
        }
 
        public void DisplayReiki(int _property, int _value, int _add)
        {
            m_PropertyName.text = GetPropertyName(_property);
            if (_property == (int)PropertyType.ATK)
            {
                m_PropertyValue.text = StringUtility.Contact(GetValueLabel(_property, PlayerDatas.Instance.extersion.MINATK)
                    , "-", GetValueLabel(_property, PlayerDatas.Instance.extersion.MAXATK));
            }
            else if (_property == (int)PropertyType.LuckPer)
            {
                m_PropertyValue.text = GetValueLabel((int)PropertyType.Luck,
                    UIHelper.GetPropertyValue(PropertyType.Luck));
            }
            else
            {
                m_PropertyValue.text = GetValueLabel(_property, _value);
            }
            DisplayAddLabel(_property, _add);
        }
 
        string GetAddValueLabel(int _property, int _value)
        {
            return StringUtility.Contact("+", GetValueLabel(_property, _value));
        }
 
        string GetValueLabel(int _property, int _value)
        {
            return PlayerPropertyConfig.GetValueDescription(_property, _value, true);
        }
 
        public void SetColor(TextColType colorType, bool bright)
        {
            m_PropertyName.color = UIHelper.GetUIColor(colorType, bright);
            m_PropertyValue.color = UIHelper.GetUIColor(colorType, bright);
        }
    }
}