少年修仙传客户端代码仓库
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
using UnityEngine;
namespace vnxbqy.UI {
    public class BlessedLandPKCell : CellView
    {
        [SerializeField] TextEx txtInfo1;
        [SerializeField] TextEx txtInfo2;
        [SerializeField] TextEx txtInfo3;
        RoleParticularModel.ViewPlayerData viewPlayerData;
        BlessedLandModel blessedLandModel { get { return ModelCenter.Instance.GetModel<BlessedLandModel>(); } }
        RoleParticularModel roleParticularModel { get { return ModelCenter.Instance.GetModel<RoleParticularModel>(); } }
 
        public void Display(int index, CellView cell)
        {
            viewPlayerData = roleParticularModel.GetViewPlayerData((int)blessedLandModel.robPlayerId);
            txtInfo1.SetActive(false);
            txtInfo2.SetActive(true);
            txtInfo3.SetActive(true);
            txtInfo2.text = GetShowAttribute(cell.info.Value.infoInt1, GetEnemyAttributeValue(cell.info.Value.infoInt1));
            txtInfo3.text = GetShowAttribute(cell.info.Value.infoInt2, GetEnemyAttributeValue(cell.info.Value.infoInt2));
        }
 
        //传入属性id 自动根据属性类型决定后面加不加%
        string GetShowAttribute(int id, long value)
        {
            if (id == 0 || !PlayerPropertyConfig.GetKeys().Contains(id.ToString()))
                return "";
            return StringUtility.Contact(PlayerPropertyConfig.Get(id).Name, " ", PlayerPropertyConfig.GetValueDescription(id, value));
        }
 
        //获取抢夺者当前属性的值
        long GetEnemyAttributeValue(int id)
        {
            //防viewPlayerData为空
            if (viewPlayerData == null)
                return 0;
            //传入表格中不存在的id
            if (id == 0 || !PlayerPropertyConfig.GetKeys().Contains(id.ToString()))
                return 0;
            //特殊 Atk用MaxAtk
            if (id == 7)
                return viewPlayerData.rolePropData.MaxAtk;
            if (viewPlayerData.propertiesDict.ContainsKey(PlayerPropertyConfig.Get(id).Parameter))
                return viewPlayerData.propertiesDict[PlayerPropertyConfig.Get(id).Parameter];
            return 0;
        }
    }
}