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); }); } }