From c6a7ac3739907e8bb7c751d408e227e19f246f49 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期五, 08 五月 2026 17:27:31 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into h5version

---
 Main/System/Arena/ArenaPlayerRankCell.cs |   43 ++++++++++++++++++++++++++++++++-----------
 1 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/Main/System/Arena/ArenaPlayerRankCell.cs b/Main/System/Arena/ArenaPlayerRankCell.cs
index 285a625..aaeec05 100644
--- a/Main/System/Arena/ArenaPlayerRankCell.cs
+++ b/Main/System/Arena/ArenaPlayerRankCell.cs
@@ -1,4 +1,3 @@
-using Cysharp.Threading.Tasks;
 using UnityEngine;
 using UnityEngine.UI;
 
@@ -8,12 +7,23 @@
     [SerializeField] Text rankText;
     [SerializeField] Text rankValueText;    //鎺掑悕姣旇緝鍐呭
     [SerializeField] Text nameText;
+    [SerializeField] Text serverText;
     [SerializeField] OfficialTitleCell officialTitleCell;
     [SerializeField] Button queryPlayerBtn; //鍚庣画娣诲姞鐐瑰嚮鏌ョ湅鐜╁璇︽儏
 
 
     // rank 涓�0 浠h〃鐜╁鑷繁
     public void Display(int rankType, int rank, string valueFormat)
+    {
+        DisplayCross(rankType, rank, valueFormat, false);
+    }
+
+    public void DisplayCross(int rankType, int rank, string valueFormat)
+    {
+        DisplayCross(rankType, rank, valueFormat, true);
+    }
+
+    void DisplayCross(int rankType, int rank, string valueFormat, bool isCross)
     {
         RankData rankData = null;
         int viewPlayerId = (int)PlayerDatas.Instance.baseData.PlayerID;
@@ -29,11 +39,11 @@
                 //鍙栫帺瀹惰嚜宸辩殑鏁版嵁
                 avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)PlayerDatas.Instance.baseData.PlayerID,
                                                 PlayerDatas.Instance.baseData.face,
-                                                PlayerDatas.Instance.baseData.facePic)).Forget();
+                                                PlayerDatas.Instance.baseData.facePic));
                 rankText.text = Language.Get("L1045");
                 rankValueText.text = ArenaManager.Instance.score.ToString();
                 nameText.text = PlayerDatas.Instance.baseData.PlayerName;
-                officialTitleCell.InitUI(PlayerDatas.Instance.baseData.realmLevel, PlayerDatas.Instance.baseData.TitleID).Forget();
+                officialTitleCell.InitUI(PlayerDatas.Instance.baseData.realmLevel, PlayerDatas.Instance.baseData.TitleID);
                 return;
             }
             rank = rankData.rank;
@@ -44,20 +54,30 @@
             avatarCell.SetActive(false);
             nameText.text = Language.Get("L1124");
             rankValueText.text = "0";//Language.Get("L1125");
+            if (serverText != null)
+                serverText.text = "";
         }
         else
         {
             viewPlayerId = (int)rankData.id;
             officialTitleCell.SetActive(true);
-            officialTitleCell.InitUI((int)rankData.value1, (int)rankData.value2).Forget();
+            officialTitleCell.InitUI((int)rankData.value1, (int)rankData.value2);
             avatarCell.SetActive(true);
-            avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)rankData.id, (int)rankData.value3, (int)rankData.value4)).Forget();
-            avatarCell.SetOnLoaded(() =>
+            avatarCell.InitUI(AvatarHelper.GetAvatarModel((int)rankData.id, (int)rankData.value3, (int)rankData.value4));
+
+            // 璺ㄦ湇鏄剧ず鏈嶅姟鍣ㄥ悕绉�
+            if (isCross && serverText != null)
             {
-                avatarCell.SetListener(() =>
-                {
-                    AvatarHelper.TryViewOtherPlayerInfo((int)rankData.id, viewPlayerLineupType: (int)BattlePreSetType.Arena);
-                });
+                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));
+            }
+
+            avatarCell.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);
             });
             nameText.text = rankData.name1;
             rankValueText.text = string.Format(valueFormat, UIHelper.ReplaceLargeNum(rankData.cmpValue));
@@ -68,7 +88,8 @@
         {
             queryPlayerBtn.AddListener(() =>
             {
-                AvatarHelper.TryViewOtherPlayerInfo(viewPlayerId, viewPlayerLineupType: (int)BattlePreSetType.Arena);
+                int serverID = (ArenaManager.Instance.IsOpenCrossServer() && viewPlayerId != PlayerDatas.Instance.baseData.PlayerID) ? UIHelper.GetServerIDByAccount(rankData.name2) : 0;
+                AvatarHelper.TryViewOtherPlayerInfo(viewPlayerId, serverID, viewPlayerLineupType: (int)BattlePreSetType.Arena);
             });
         }
     }

--
Gitblit v1.8.0