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/CrossServerQualifying64Win.cs |  130 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 113 insertions(+), 17 deletions(-)

diff --git a/LogicProject/System/CrossServerQualifying/CrossServerQualifying64Win.cs b/LogicProject/System/CrossServerQualifying/CrossServerQualifying64Win.cs
index a99a2d1..2d45325 100644
--- a/LogicProject/System/CrossServerQualifying/CrossServerQualifying64Win.cs
+++ b/LogicProject/System/CrossServerQualifying/CrossServerQualifying64Win.cs
@@ -17,16 +17,25 @@
     Button btn16;
     List<Image> selectImgs = new List<Image>();
     Button timeBtn;
-    ButtonEx enterGame;
     ScrollerController scroller;
-    Text timeTip;   //鏄剧ず鑷繁褰撳墠杩涘満淇℃伅鍜屽皬绐楁帹閫侀厤鍚�
     Button guessBtn;
     Image lineImg;
     Text waitTxt;
-    Image arrow;
-
-
-    
+    Image arrow;
+
+    ButtonEx enterGame;
+    Text pkResultText;
+    RectTransform pkTagetObjs; //鏈夋瘮璧涘満娆$殑鏃跺�欐樉绀�
+    Text timeTip;   //鏄剧ず鑷繁褰撳墠杩涘満淇℃伅鍜屽皬绐楁帹閫侀厤鍚�
+    Text pkTimesText;
+    Text pkScoreText;
+    RectTransform tagPlayerObj;
+    RectTransform todayRaceObj;
+    Text todayRaceText;
+    Button littleCloseBtn;
+
+
+
     #region Built-in
     protected override void BindController()
     {
@@ -47,6 +56,16 @@
         lineImg = proxy.GetWidgtEx<Image>("line");
         guessBtn = proxy.GetWidgtEx<Button>("guessBtn");
         arrow = proxy.GetWidgtEx<Image>("arrow");
+
+        pkResultText = proxy.GetWidgtEx<Text>("pkResult");
+        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()
@@ -78,6 +97,11 @@
             arrow.SetActiveIL(false);
             WindowCenter.Instance.OpenIL<CrossServerQualifyingGuess8Win>();
         });
+
+        littleCloseBtn.SetListener(()=>{
+            CrossServerQualifyingModel.Instance.isShowRaceInfoYet = true;
+            todayRaceObj.SetActive(!CrossServerQualifyingModel.Instance.isShowRaceInfoYet);
+        });
     }
 
     protected override void OnPreOpen()
@@ -96,7 +120,12 @@
         else
         {
             arrow.SetActiveIL(ILChampionshipTimeConfig.Get(battleID).StateValue == 80);
-        }
+        }
+
+        //椤堕儴鏅嬬骇淇℃伅鏄剧ず
+        var nextBattle = CrossServerQualifyingModel.Instance.GetMyNextBattle();
+        pkResultText.SetActive(nextBattle != 0);
+        pkResultText.text = Language.Get("CrossServerQualifying71", nextBattle);
     }
 
 
@@ -211,25 +240,92 @@
     void OnMinuteEvent()
     {
         var groupMark = CrossServerQualifyingModel.Instance.nowGroupMark;
-        enterGame.SetActiveIL(false);
+        pkTagetObjs.SetActiveIL(false);
+        todayRaceObj.SetActiveIL(false);
         timeTip.text = string.Empty;
         var findIndex = CrossServerQualifyingModel.Instance.groupBtnMarks.IndexOf(groupMark);
         if (findIndex != -1 && groupMark <= 64 && groupMark >= 16)
         {
             var isInBattle = CrossServerQualifyingModel.Instance.HaveMyBattle(groupMark);
-            enterGame.SetActiveIL(isInBattle);
-            if (isInBattle)
+            int battleID = CrossServerQualifyingModel.Instance.GetBattleID();
+            if (isInBattle && ILChampionshipTimeConfig.Get(battleID).StateValue % 10 == 2)
             {
-                var battleID = ILChampionshipTimeConfig.GetBattleID((int)groupMark * 10 + 2);
-                if (battleID != 0)
-                {
-                    timeTip.text = Language.Get("CrossServerQualifying20", CrossServerQualifyingModel.Instance.GetStartBattleTime(battleID));
-                    return;
+                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.groupBtnMarks)
+        { 
+            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