From 415f067849cc3c3b3a7111cf7b55fbfbdb548c19 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期四, 27 二月 2025 23:02:45 +0800
Subject: [PATCH] 10349 【越南】【英文】【BT】【砍树】跨服竞技场优化  - 跨服排位赛

---
 LogicProject/System/CrossServerQualifying/CrossServerQualifying8Win.cs |  133 +++++++++++++++++++++++++++++++++++++-------
 1 files changed, 112 insertions(+), 21 deletions(-)

diff --git a/LogicProject/System/CrossServerQualifying/CrossServerQualifying8Win.cs b/LogicProject/System/CrossServerQualifying/CrossServerQualifying8Win.cs
index a38efe7..6123290 100644
--- a/LogicProject/System/CrossServerQualifying/CrossServerQualifying8Win.cs
+++ b/LogicProject/System/CrossServerQualifying/CrossServerQualifying8Win.cs
@@ -14,9 +14,7 @@
 {
     Transform raceTable;
     Text waitTxt;
-    Text timeTip;   //鏄剧ず鑷繁褰撳墠杩涘満淇℃伅鍜屽皬绐楁帹閫侀厤鍚�
     Button raceBtn;
-    ButtonEx enterGame;
     Button giftBtn;
     Button guessBtn;
     Text time1;
@@ -33,8 +31,17 @@
     Text fightPowerA;
     Text fightPowerB;
     Image arrow;
-    Text nextTime;
-
+    Text nextTime;
+
+    ButtonEx enterGame;
+    RectTransform pkTagetObjs; //鏈夋瘮璧涘満娆$殑鏃跺�欐樉绀�
+    Text timeTip;   //鏄剧ず鑷繁褰撳墠杩涘満淇℃伅鍜屽皬绐楁帹閫侀厤鍚�
+    Text pkTimesText;
+    Text pkScoreText;
+    RectTransform tagPlayerObj;
+    RectTransform todayRaceObj;
+    Text todayRaceText;
+    Button littleCloseBtn;
 
     #region Built-in
     protected override void BindController()
@@ -69,7 +76,15 @@
         fightPowerA = proxy.GetWidgtEx<Text>("fightPowerA");
         fightPowerB = proxy.GetWidgtEx<Text>("fightPowerB");
         arrow = proxy.GetWidgtEx<Image>("arrow");
-        nextTime = proxy.GetWidgtEx<Text>("nextTime");
+        nextTime = proxy.GetWidgtEx<Text>("nextTime");
+
+        pkTagetObjs = proxy.GetWidgtEx<RectTransform>("chanllenge");
+        pkTimesText = proxy.GetWidgtEx<Text>("challengeTimes");
+        pkScoreText = proxy.GetWidgtEx<Text>("score");
+        tagPlayerObj = proxy.GetWidgtEx<RectTransform>("tagetPlayer");
+        todayRaceObj = proxy.GetWidgtEx<RectTransform>("raceTip");
+        todayRaceText = proxy.GetWidgtEx<Text>("todayrace");
+        littleCloseBtn = proxy.GetWidgtEx<Button>("littleClose");
     }
 
     protected override void AddListeners()
@@ -88,6 +103,11 @@
 
         giftBtn.SetListener(() => {
             WindowCenter.Instance.OpenIL<CrossServerQualifyingRankWin>();
+        });
+
+        littleCloseBtn.SetListener(() => {
+            CrossServerQualifyingModel.Instance.isShowRaceInfoYet = true;
+            todayRaceObj.SetActive(!CrossServerQualifyingModel.Instance.isShowRaceInfoYet);
         });
     }
 
@@ -129,9 +149,9 @@
 
         }
         else
-        {
-            enterGame.SetActiveIL(false);
-            timeTip.text = string.Empty;
+        {
+            pkTagetObjs.SetActiveIL(false);
+            todayRaceObj.SetActiveIL(false);
             DisplayTime();
             raceTable.SetActiveIL(false);
             waitTxt.SetActiveIL(true);
@@ -305,24 +325,95 @@
 
     void OnMinuteEvent()
     {
-        enterGame.SetActiveIL(false);
-        timeTip.text = string.Empty;
+        pkTagetObjs.SetActiveIL(false);
+        todayRaceObj.SetActiveIL(false);
 
         var groupMark = CrossServerQualifyingModel.Instance.nowGroupMark;
         if (groupMark <= 8 && groupMark != 0)
-        {
-            //濡傛灉鐜╁鐣岄潰涓�鐩村紑鐫�灏遍渶瑕佸埛鏂�
-            if (CrossServerQualifyingModel.Instance.HaveMyBattle(groupMark))
-            {
-                enterGame.SetActiveIL(true);
-                var battleID = ILChampionshipTimeConfig.GetBattleID((int)groupMark * 10 + 2);
-                if (battleID != 0)
-                {
-                    timeTip.text = Language.Get("CrossServerQualifying20", CrossServerQualifyingModel.Instance.GetStartBattleTime(battleID));
-                }
+        {
+            var isInBattle = CrossServerQualifyingModel.Instance.HaveMyBattle(groupMark);
+            //濡傛灉鐜╁鐣岄潰涓�鐩村紑鐫�灏遍渶瑕佸埛鏂�
+            int battleID = CrossServerQualifyingModel.Instance.GetBattleID();
+            if (isInBattle && ILChampionshipTimeConfig.Get(battleID).StateValue % 10 == 2)
+            {
+                pkTagetObjs.SetActiveIL(true);
+                //ItemOverdue104 {0}鍒�
+                //ItemTipTime1	鍓╀綑鏃堕棿锛�
+                //OSCActivityNotOpen	娲诲姩鏈紑濮�
+                //FamilyMatchAlreadyEnd < color =#109d06>宸茬粨鏉�</color>
+                double minute = CrossServerQualifyingModel.Instance.GetRaceEndRemindMinute(battleID);
+                if (minute >= 0)
+                {
+                    timeTip.text = StringUtility.Contact(Language.Get("ItemTipTime1"), " ", Language.Get("ItemOverdue104", (int)minute));
+                }
+                else
+                {
+                    timeTip.text = Language.Get("FamilyMatchAlreadyEnd");
+                }
+                ShowBattleInfo(groupMark);
+            }
+
+            if (isInBattle)
+            {
+                ShowTodayRaceInfo();
             }
-        }
+        }
+
+    }
 
+
+    void ShowBattleInfo(uint groupMark)
+    {
+        uint tagPlayerID;
+        var battleResult = CrossServerQualifyingModel.Instance.GetMyBattleInfo(groupMark, out tagPlayerID);
+        int challengeCnt = battleResult.ContainsKey((int)PlayerDatas.Instance.baseData.PlayerID) ? battleResult[(int)PlayerDatas.Instance.baseData.PlayerID].Length : 0;
+        //FindPrecious_14	鎸戞垬娆℃暟:
+        pkTimesText.text = StringUtility.Contact(Language.Get("FindPrecious_14"), " ",
+            CrossServerQualifyingModel.Instance.challengeMaxCnt - challengeCnt,
+            "/", CrossServerQualifyingModel.Instance.challengeMaxCnt);
+
+        // 鎴樻枟缁撴灉鏄庣粏 {"playerID":[[绗�1灞�鑳滆礋,绗�1灞�鎬荤Н鍒�,鑳滆礋鍩虹鍒�,hp鍒�,鏃堕棿鍒哴, ...], ...}
+        int myScore = 0;
+        int tagScore = 0;
+        var keys = battleResult.Keys.ToList();
+        for (int i = 0; i < keys.Count; i++)
+        {
+            var key = keys[i];
+            if (key == (int)PlayerDatas.Instance.baseData.PlayerID)
+            {
+                for (int j = 0; j < battleResult[key].Length; j++)
+                {
+                    myScore += battleResult[key][j][1];
+                }
+            }
+            else
+            {
+                for (int j = 0; j < battleResult[key].Length; j++)
+                {
+                    tagScore += battleResult[key][j][1];
+                }
+            }
+        }
+        //L2033	姣斿垎锛�
+        pkScoreText.text = StringUtility.Contact(Language.Get("L2033"), " ", myScore, " - ", tagScore);
+
+        var _cell = tagPlayerObj.GetILBehaviour<CSQShootOutPlayerCell>();
+        _cell.Display(tagPlayerID, 0);
+    }
+    void ShowTodayRaceInfo()
+    {
+        todayRaceObj.SetActiveIL(!CrossServerQualifyingModel.Instance.isShowRaceInfoYet);
+
+        string raceInfo = StringUtility.Contact(Language.Get("CrossServerQualifying70"), "</r>");
+        foreach (int mark in CrossServerQualifyingModel.Instance.group8BtnMarks)
+        {
+            int tmpBattleID = ILChampionshipTimeConfig.GetBattleID(mark * 10 + 2);
+            var tmpConfig = ILChampionshipTimeConfig.Get(tmpBattleID);
+            raceInfo = StringUtility.Contact(raceInfo, "</r>", tmpConfig.Title, "    ",
+                tmpConfig.StartHour.ToString("D2"), ":", tmpConfig.StartMinute.ToString("D2"), " - ",
+                tmpConfig.EndHour.ToString("D2"), ":", tmpConfig.EndMinute.ToString("D2"));
+        }
+        todayRaceText.text = raceInfo;
     }
 
     void UpdateRace()

--
Gitblit v1.8.0