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(); } } RoleParticularModel roleParticularModel { get { return ModelCenter.Instance.GetModel(); } } 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; } } }