少年修仙传客户端代码仓库
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
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
namespace vnxbqy.UI
{
    public class VipPrivilegeWidget : MonoBehaviour
    {
        [SerializeField] Image m_Symbol;
        [SerializeField] Image m_NullSymbol;
        [SerializeField] Text m_Description;
 
        public void Display(int id, int level)
        {
            var config = VipPrivilegeInfoConfig.Get(id);
            var value = VipPrivilegeInfoConfig.GetPrivilegeData(id, level);
            var label = VipPrivilegeInfoConfig.GetPrivilegeLabel(id, level);
            m_Symbol.SetActive(false);
            m_NullSymbol.SetActive(false);
            m_Description.SetActive(config.displayType > 1);
            switch (config.displayType)
            {
                case 2:
                    if (!string.IsNullOrEmpty(label))
                    {
                        m_Description.text = string.Format(label, value);
                    }
                    else
                    {
                        m_Description.text = value.ToString();
                    }
                    break;
                case 3:
                    if (!string.IsNullOrEmpty(label))
                    {
                        m_Description.text = string.Format(label, value / 100);
                    }
                    else
                    {
                        m_Description.text = (value / 100).ToString();
                    }
                    break;
                case 4:
                    m_Description.text = label;
                    break;
                case 5:
                    m_NullSymbol.SetActive(value == 0);
                    m_Description.SetActive(value > 0);
                    if (value > 0)
                    {
                        if (!string.IsNullOrEmpty(label))
                        {
                            m_Description.text = string.Format(label, value);
                        }
                        else
                        {
                            m_Description.text = value.ToString();
                        }
                    }
                    break;
                case 6:
                    var isEmptyLabel = label.Equals("Null");
                    m_NullSymbol.SetActive(isEmptyLabel);
                    m_Description.SetActive(!isEmptyLabel);
                    if (!isEmptyLabel)
                    {
                        m_Description.text = label;
                    }
                    break;
                case 1:
                default:
                    m_Symbol.SetActive(value > 0);
                    m_NullSymbol.SetActive(value == 0);
                    break;
            }
        }
    }
}