From 1f189d9b7323e71327c01cacb9cf4707dceee288 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 11 十二月 2025 17:59:14 +0800
Subject: [PATCH] 385 战斗系统 战斗结算详情界面 改左蓝右红,去掉左边始终显示胜利方的设定,改成和战场的左右方一致

---
 Main/System/BattleDetail/BattleDetailWin.cs       |   42 ++++++++------------
 Main/System/Settlement/BattleSettlementManager.cs |   36 ++++++------------
 2 files changed, 29 insertions(+), 49 deletions(-)

diff --git a/Main/System/BattleDetail/BattleDetailWin.cs b/Main/System/BattleDetail/BattleDetailWin.cs
index 92f1378..78e6268 100644
--- a/Main/System/BattleDetail/BattleDetailWin.cs
+++ b/Main/System/BattleDetail/BattleDetailWin.cs
@@ -3,6 +3,8 @@
 
 public class BattleDetailWin : UIBase
 {
+    [SerializeField] ImageEx imgResultBlue;
+    [SerializeField] ImageEx imgResultRed;
     [SerializeField] TextEx redName;
     [SerializeField] TextEx blueName;
     [SerializeField] List<BattleDetailHeroInfoItem> redList = new List<BattleDetailHeroInfoItem>();
@@ -15,36 +17,26 @@
 
     public void Display()
     {
-        bool isMyStart = manager.isMyStartBattleDetail;
         BattleDetailMsg msg = manager.msg;
-        string battleName = manager.BattleDetailBattleName;
-
         if (msg == null)
             return;
+        string battleName = manager.BattleDetailBattleName;
+        string blueFaction = manager.GetFaction(true);
+        string redFaction = manager.GetFaction(false);
 
-        if (isMyStart)
-        {
-            // 鐩墠鐜╁涓诲姩鍙戣捣鐨勯樀瀹逛竴瀹氭槸1锛屽鏂规槸 2, 濡傛灉鏄偅绉嶇郴缁熻嚜鍔ㄦ墦鐨勶紝涓�鑸�1-宸︼紝2-鍙�
-            int myWinFaction = 1;
-            string myName = PlayerDatas.Instance.baseData.PlayerName;
-            string enemyName = manager.GetBattleDetailEnemyNameByMyStart(battleName);
-            if (battleName == BattleConst.TianziBillboradBattleField)
-            {
-                redName.text = myWinFaction == msg.winFaction ? enemyName : myName;
-                blueName.text = myWinFaction == msg.winFaction ? myName : enemyName;
-            }
-            else
-            {
-                redName.text = myWinFaction == msg.winFaction ? myName : enemyName;
-                blueName.text = myWinFaction == msg.winFaction ? enemyName : myName;
-            }
-
-        }
-
-        List<BattleDetailHeroInfo> redBattleDetailHeroInfoList = manager.GetHeroInfo(msg, isMyStart, battleName, true);
-        List<BattleDetailHeroInfo> blueBattleDetailHeroInfoList = manager.GetHeroInfo(msg, isMyStart, battleName, false);
-        DisplayDetail(redList, redBattleDetailHeroInfoList);
+        string myName = PlayerDatas.Instance.baseData.PlayerName;
+        string enemyName = manager.GetBattleDetailEnemyNameByMyStart(battleName);
+        blueName.text = myName;
+        redName.text = enemyName;
+        
+        bool isTianzi = battleName == BattleConst.TianziBillboradBattleField;
+        imgResultBlue.SetSprite(isTianzi ? "BattleDetailWin" : msg.winFaction.ToString() == blueFaction ? "BattleDetailWin" : "BattleDetailFail");
+        imgResultRed.SetSprite(isTianzi ? "BattleDetailFail" : msg.winFaction.ToString() == redFaction ? "BattleDetailWin" : "BattleDetailFail");
+        
+        List<BattleDetailHeroInfo> blueBattleDetailHeroInfoList = manager.GetHeroInfoByFaction(msg, blueFaction);
+        List<BattleDetailHeroInfo> redBattleDetailHeroInfoList = manager.GetHeroInfoByFaction(msg, redFaction);
         DisplayDetail(blueList, blueBattleDetailHeroInfoList);
+        DisplayDetail(redList, redBattleDetailHeroInfoList);
     }
 
     public void DisplayDetail(List<BattleDetailHeroInfoItem> teamItemList, List<BattleDetailHeroInfo> infoList)
diff --git a/Main/System/Settlement/BattleSettlementManager.cs b/Main/System/Settlement/BattleSettlementManager.cs
index a11396b..d7d0bf5 100644
--- a/Main/System/Settlement/BattleSettlementManager.cs
+++ b/Main/System/Settlement/BattleSettlementManager.cs
@@ -207,10 +207,10 @@
     {
         //mobile.secondworld.net.cn:53080\S9006\20251202\3042602\5b11338f-cf2c-11f0-a0a0-000c29b22418.tfr
         var serverID = UIHelper.GetServerIDByAccount(PlayerDatas.Instance.baseData.AccID);
-        
+
         var url = ServerListCenter.Instance.GetServerUrl(serverID);
         string assetVersionUrl = string.Empty;
-        
+
         if (string.IsNullOrEmpty(date))
         {
             //鍏叡鎴樻姤  璺緞锛� C:\TurnFightReport\S鏈嶅姟鍣ㄧ紪鍙穃鍔熻兘鍦板浘ID\鎴樻姤GUID
@@ -269,10 +269,8 @@
     public string BattleDetailBattleName = string.Empty;
     public string BattleDetailMyName = string.Empty;
     public string BattleDetailEnemyName = string.Empty;
-    public bool isMyStartBattleDetail = false;  // 鏄惁鏄垜鏂瑰彂璧风殑鎴樻枟
 
-    // isMyStart 鏄惁鏄垜鏂瑰彂璧风殑鎴樻枟
-    public void OpenBattleDetailWin(string battleName, bool isMyStart = true)
+    public void OpenBattleDetailWin(string battleName)
     {
         if (UIManager.Instance.IsOpened<BattleDetailWin>())
             return;
@@ -286,7 +284,6 @@
             return;
 
         BattleDetailBattleName = battleName;
-        this.isMyStartBattleDetail = isMyStart;
         UIManager.Instance.OpenWindow<BattleDetailWin>();
     }
 
@@ -336,29 +333,21 @@
         return null;
     }
 
-    public List<BattleDetailHeroInfo> GetHeroInfo(BattleDetailMsg msg, bool isMyStart, string battleName, bool isWin)
+    // 宸﹁摑鍙崇孩
+    // 鐩墠鐜╁涓诲姩鍙戣捣鐨勯樀瀹逛竴瀹氭槸1锛屽鏂规槸 2, 濡傛灉鏄偅绉嶇郴缁熻嚜鍔ㄦ墦鐨勶紝涓�鑸�1-宸︼紝2-鍙�
+    public string GetFaction(bool isBlue)
+    {
+        return isBlue ? "1" : "2";
+    }
+
+    public List<BattleDetailHeroInfo> GetHeroInfoByFaction(BattleDetailMsg msg, string faction)
     {
         if (msg == null || msg.statInfo.IsNullOrEmpty())
             return null;
-
         int winFaction = msg.winFaction;    // 鑾疯儨闃佃惀
         Dictionary<string, Dictionary<string, BattleDetailHeroInfo>> lineupInfo = new Dictionary<string, Dictionary<string, BattleDetailHeroInfo>>();
-        string statInfoKey = string.Empty;
 
-        if (isMyStart)
-        {
-            // 澶╁瓙鎴樺満鐜╁涓嶄細杈�
-            if (battleName == BattleConst.TianziBillboradBattleField)
-            {
-                statInfoKey = isWin ? msg.statInfo.Keys.FirstOrDefault(key => key != winFaction.ToString()) : winFaction.ToString();
-            }
-            else
-            {
-                statInfoKey = isWin ? winFaction.ToString() : msg.statInfo.Keys.FirstOrDefault(key => key != winFaction.ToString());
-            }
-        }
-
-        if (!msg.statInfo.TryGetValue(statInfoKey, out lineupInfo) || lineupInfo.IsNullOrEmpty())
+        if (!msg.statInfo.TryGetValue(faction, out lineupInfo) || lineupInfo.IsNullOrEmpty())
             return null;
         var lineupInfoKeyList = lineupInfo.Keys.ToList();
         if (lineupInfoKeyList.IsNullOrEmpty())
@@ -383,7 +372,6 @@
         }
         return res;
     }
-
     #endregion
 
 }

--
Gitblit v1.8.0