yyl
2026-05-08 c6a7ac3739907e8bb7c751d408e227e19f246f49
Main/System/Arena/ArenaPlayerTop3Cell.cs
@@ -1,17 +1,28 @@
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)
@@ -19,16 +30,28 @@
            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();
        officialTitleCell.InitUI((int)rankData.value1, (int)rankData.value2);
        model.Create(HorseManager.Instance.GetOtherPlayerHorseSkinID((int)rankData.value6), (int)rankData.value5, 1);
        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(() =>
        {
            AvatarHelper.TryViewOtherPlayerInfo((int)rankData.id, viewPlayerLineupType: (int)BattlePreSetType.Arena);
            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);
        });
    }