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