using Cysharp.Threading.Tasks;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
|
public class ArenaPlayerTop3Cell : MonoBehaviour
|
{
|
//[SerializeField] Model 显示NPC 武将模型
|
[SerializeField] Text rankValueText; //排名比较内容
|
[SerializeField] Text nameText;
|
[SerializeField] Text serverText;
|
[SerializeField] OfficialTitleCell officialTitleCell;
|
[SerializeField] Button queryPlayerBtn; //后续添加点击查看玩家详情
|
[SerializeField] HorseController model;
|
|
public void Display(int rankType, int rank, string valueFormat = "{0}")
|
{
|
DisplayCross(rankType, rank, valueFormat, false);
|
}
|
|
public void DisplayCross(int rankType, int rank, string valueFormat = "{0}")
|
{
|
DisplayCross(rankType, rank, valueFormat, true);
|
}
|
|
void DisplayCross(int rankType, int rank, string valueFormat, bool isCross)
|
{
|
var rankData = RankModel.Instance.GetRankDataByRank(rankType, rank);
|
if (rankData == null)
|
{
|
rankValueText.text = "0";//Language.Get("L1125");
|
nameText.text = Language.Get("L1124");
|
officialTitleCell.SetActive(false);
|
if (serverText != null)
|
serverText.text = "";
|
return;
|
}
|
officialTitleCell.SetActive(true);
|
rankValueText.text = string.Format(valueFormat, UIHelper.ReplaceLargeNum(rankData.cmpValue));
|
nameText.text = rankData.name1;
|
officialTitleCell.InitUI((int)rankData.value1, (int)rankData.value2).Forget();
|
model.Create(HorseManager.Instance.GetOtherPlayerHorseSkinID((int)rankData.value6), (int)rankData.value5, 1).Forget();
|
|
if (isCross && serverText != null)
|
{
|
if (ArenaManager.Instance.IsRobot((int)rankData.id))
|
serverText.text = ServerListCenter.Instance.GetServerName(UIHelper.GetServerIDByAccount(PlayerDatas.Instance.baseData.AccID));
|
else
|
serverText.text = ServerListCenter.Instance.GetServerName(UIHelper.GetServerIDByAccount(rankData.name2));
|
}
|
|
queryPlayerBtn.SetListener(() =>
|
{
|
int serverID = (ArenaManager.Instance.IsOpenCrossServer() && rankData.id != PlayerDatas.Instance.baseData.PlayerID) ? UIHelper.GetServerIDByAccount(rankData.name2) : 0;
|
AvatarHelper.TryViewOtherPlayerInfo((int)rankData.id, serverID, viewPlayerLineupType: (int)BattlePreSetType.Arena);
|
});
|
}
|
|
|
}
|