Project_WL/Assets/ResWork/UIPrefabs/Rank/RankingCard.cs

52 lines
1.7 KiB
C#

using PlayFab.ProgressionModels;
using TMPro;
using UnityEngine.UI;
public class RankingCard : CardBase
{
public TextMeshProUGUI[] texts; // 0 랭킹, 1 이름, 2 플로어
public Image[] images; // 0 랭킹, 1 얼굴, 2 bg
public override void Set<T>(T _base)
{
base.Set(_base);
if (!DSUtil.CheckNull(_base))
{
EntityLeaderboardEntry data = _base as EntityLeaderboardEntry;
var metaDatas = data.Metadata.Split('|'); // 0 코스튬Id
texts[0].text = data.Rank > 3 ? data.Rank.ToString() : "";
images[0].enabled = data.Rank <= 3;
if (images[0].enabled)
{
images[0].sprite = UIAtlasMgr.Ins.Get_Sprite(DSUtil.Format("rank{0}", data.Rank));
images[2].sprite = UIAtlasMgr.Ins.Get_Sprite("slot 2");
}
else
{
images[2].sprite = UIAtlasMgr.Ins.Get_Sprite("slot 1");
}
texts[1].text = data.DisplayName;
texts[2].text = data.Scores[0];
// TODO 정인호 : 얼굴은 어디에 종속인 지 아직 모름
//var costumetable = table_costumelist.Ins.Get_Data_orNull(int.Parse(metaDatas[0]));
//images[1].sprite = UIAtlasMgr.Ins.Get_Sprite(costumetable.s_Image);
}
else
{
texts[0].text = "99999";
images[0].enabled = false;
texts[1].text = ServerInfo.Ins.UserName;
texts[2].text = "0";
}
}
public override void Set(int _val)
{
if (_val == 2)
texts[2].text = $"F{texts[2].text}";
else
texts[2].text = NumberFormatter.FormatNumber(double.Parse(texts[2].text));
}
}