You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

95 lines
3.6 KiB

using TMPro;
using UnityEngine;
using IVDataFormat;
using UnityEngine.UI;
public class EScrPvpRank : EScrCell
{
private Image imgTier;
private Image imgTierNum;
private Image imgChar;
private Image imgRank;
private TextMeshProUGUI txtRank;
private TextMeshProUGUI txtLv;
private TextMeshProUGUI txtName;
private TextMeshProUGUI txtPoint;
public override void InitCell()
{
Transform trf = transform;
imgTier = trf.Find("imgTier").GetComponent<Image>();
imgTierNum = trf.Find("imgTierNum").GetComponent<Image>();
imgChar = trf.Find("imgChar").GetComponent<Image>();
imgRank = trf.Find("imgRank").GetComponent<Image>();
txtRank = trf.Find("txtRank").GetComponent<TextMeshProUGUI>();
txtLv = trf.Find("txtLv").GetComponent<TextMeshProUGUI>();
txtName = trf.Find("txtName").GetComponent<TextMeshProUGUI>();
txtPoint = trf.Find("txtPoint").GetComponent<TextMeshProUGUI>();
}
public override void RefreshCellView()
{
SetData(itemID);
}
public override void SetData(int itemid)
{
itemID = itemid;
txtRank.text = FormatString.TextRank(itemID);
txtRank.gameObject.SetActive(true);
imgRank.gameObject.SetActive(false);
if (itemID <= 3)
{
txtRank.gameObject.SetActive(false);
imgRank.gameObject.SetActive(true);
imgRank.sprite = PvpMgr.SGetRankImg(itemID);
}
if (DataHandler.TryGetPvpRank(itemID, out dPvpRank rank))
{
if (rank.tier <= 9)
imgTierNum.rectTransform.anchoredPosition = new Vector3(imgTier.rectTransform.anchoredPosition.x - 2, imgTier.rectTransform.anchoredPosition.y + 3, 0);
else if (rank.tier <= 12)
imgTierNum.rectTransform.anchoredPosition = new Vector3(imgTier.rectTransform.anchoredPosition.x - 1, imgTier.rectTransform.anchoredPosition.y + 7, 0);
else if (rank.tier <= 30)
imgTierNum.rectTransform.anchoredPosition = new Vector3(imgTier.rectTransform.anchoredPosition.x, imgTier.rectTransform.anchoredPosition.y + 2, 0);
else if (rank.tier <= 48)
imgTierNum.rectTransform.anchoredPosition = new Vector3(imgTier.rectTransform.anchoredPosition.x, imgTier.rectTransform.anchoredPosition.y, 0);
else if (rank.tier <= 51)
imgTierNum.rectTransform.anchoredPosition = new Vector3(imgTier.rectTransform.anchoredPosition.x, imgTier.rectTransform.anchoredPosition.y + 2, 0);
else if (rank.tier <= 57)
imgTierNum.rectTransform.anchoredPosition = new Vector3(imgTier.rectTransform.anchoredPosition.x, imgTier.rectTransform.anchoredPosition.y - 3, 0);
SetInfo(rank.playerIcon, rank.playerLv, rank.playerName, rank.tier, rank.point);
}
else
{
imgTier.enabled = false;
imgTierNum.enabled = false;
imgChar.enabled = false;
txtLv.text = null;
txtName.text = null;
txtPoint.text = null;
}
}
public void SetInfo(int iicon, int ilv, string strname, int itier, int irp)
{
imgChar.sprite = AddressableMgr.GetPlayerIcon(iicon);
imgChar.enabled = true;
imgTier.sprite = PvpMgr.SGetTierImg(itier);
imgTier.enabled = true;
imgTierNum.sprite = PvpMgr.SGetTierNumImg(itier);
imgTierNum.enabled = true;
txtLv.text = FormatString.TextLv(ilv);
txtName.text = strname;
txtPoint.text = FormatString.TextRp(irp);
}
public void SetRank(int irank)
{
txtRank.text = FormatString.TextRank(irank);
}
}