From e59112d8aecdd863bd04965bd6e2de883753bb5a Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 02 一月 2025 17:11:02 +0800
Subject: [PATCH] 10290 运势-客户端

---
 System/LoopAct/YunShi/OperationYunShi.cs          |   43 ++++++++++++++++++---
 System/LoopAct/YunShi/YunShiXBActModel.cs         |   10 ++++
 System/LoopAct/YunShi/YunShiRechargeGiftActWin.cs |   23 +++++------
 3 files changed, 57 insertions(+), 19 deletions(-)

diff --git a/System/LoopAct/YunShi/OperationYunShi.cs b/System/LoopAct/YunShi/OperationYunShi.cs
index 04fbea3..022c4a3 100644
--- a/System/LoopAct/YunShi/OperationYunShi.cs
+++ b/System/LoopAct/YunShi/OperationYunShi.cs
@@ -14,14 +14,45 @@
         {
             var textBuilder = OperationTimeHepler.textBuilder;
             textBuilder.Length = 0;
-            textBuilder.Append(startDate.ToDisplay(false));
-            textBuilder.Append(string.Format(" {0}:{1}", joinStartHour.ToString("D2"), joinStartMinute.ToString("D2")));
-            if (startDate != endDate)
+
+            OperationDate adjustedStartDate = startDate;
+            int adjustedStartHour = joinStartHour;
+            int adjustedStartMinute = joinStartMinute;
+            if (resetType == 0)
             {
-                textBuilder.Append(" - ");
-                textBuilder.Append(endDate.ToDisplay(false));
-                textBuilder.Append(string.Format(" {0}:{1}", joinEndHour.ToString("D2"), joinEndMinute.ToString("D2")));
+                adjustedStartHour = 0;
+                adjustedStartMinute = 0;
             }
+            else if (resetType == 1)
+            {
+                adjustedStartHour = 4;
+                adjustedStartMinute = 59;
+            }
+
+            textBuilder.Append(adjustedStartDate.ToDisplay(false));
+            textBuilder.Append(string.Format(" {0}:{1}", adjustedStartHour.ToString("D2"), adjustedStartMinute.ToString("D2")));
+
+
+            OperationDate adjustedEndDate = endDate;
+            int adjustedEndHour = joinEndHour;
+            int adjustedEndMinute = joinEndMinute;
+
+
+            if (resetType == 0)
+            {
+                adjustedEndDate.day += 1;
+            }
+            else if (resetType == 1)
+            {
+                adjustedEndDate.day += 1;
+                adjustedEndHour = 4;
+                adjustedEndMinute = 59;
+            }
+
+            textBuilder.Append(" - ");
+            textBuilder.Append(adjustedEndDate.ToDisplay(false));
+            textBuilder.Append(string.Format(" {0}:{1}", adjustedEndHour.ToString("D2"), adjustedEndMinute.ToString("D2")));
+
             return textBuilder.ToString();
         }
 
diff --git a/System/LoopAct/YunShi/YunShiRechargeGiftActWin.cs b/System/LoopAct/YunShi/YunShiRechargeGiftActWin.cs
index 54f7141..6479b06 100644
--- a/System/LoopAct/YunShi/YunShiRechargeGiftActWin.cs
+++ b/System/LoopAct/YunShi/YunShiRechargeGiftActWin.cs
@@ -9,7 +9,7 @@
         [SerializeField] TextEx actTime;
         YunShiRechargeGiftActModel model { get { return ModelCenter.Instance.GetModel<YunShiRechargeGiftActModel>(); } }
         VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
-
+        HappyXBModel happyXBModel { get { return ModelCenter.Instance.GetModelEx<HappyXBModel>(); } }
         StoreModel storeModel { get { return ModelCenter.Instance.GetModel<StoreModel>(); } }
 
         #region Built-in
@@ -25,11 +25,18 @@
         protected override void OnPreOpen()
         {
             scroller.OnRefreshCell += OnRefreshCell;
-            GlobalTimeEvent.Instance.secondEvent += secondEvent;
             vipModel.rechargeCountEvent += VipModel_rechargeCountEvent;
             storeModel.RefreshBuyShopLimitEvent += RefreshBuyShopLimitEvent;
             DisplayScroll();
-            secondEvent();
+            OperationYunShi act;
+            OperationTimeHepler.Instance.TryGetOperation(YunShiXBActModel.operaType, out act);
+            if (act == null)
+                return;
+            int type = act.treasureType;
+            var xbInfo = happyXBModel.GetXBInfoByType(type);
+            if (xbInfo == null)
+                return;
+            actTime.text = Language.Get("RidingPetBossQuestTime", act.ToDisplayTime());
         }
 
         private void VipModel_rechargeCountEvent(int obj)
@@ -44,7 +51,6 @@
         protected override void OnPreClose()
         {
             scroller.OnRefreshCell -= OnRefreshCell;
-            GlobalTimeEvent.Instance.secondEvent -= secondEvent;
             vipModel.rechargeCountEvent -= VipModel_rechargeCountEvent;
             storeModel.RefreshBuyShopLimitEvent -= RefreshBuyShopLimitEvent;
         }
@@ -122,13 +128,6 @@
             return 0;
         }
 
-        private void secondEvent()
-        {
-            OperationRechargeGiftAct act;
-            OperationTimeHepler.Instance.TryGetOperation(YunShiRechargeGiftActModel.operaType, out act);
-            if (act == null)
-                return;
-            actTime.text = Language.Get("RidingPetBossQuestTime", act.ToDisplayTimeEx());
-        }
+
     }
 }
\ No newline at end of file
diff --git a/System/LoopAct/YunShi/YunShiXBActModel.cs b/System/LoopAct/YunShi/YunShiXBActModel.cs
index fe411cf..2f118fb 100644
--- a/System/LoopAct/YunShi/YunShiXBActModel.cs
+++ b/System/LoopAct/YunShi/YunShiXBActModel.cs
@@ -122,7 +122,15 @@
 
         private void OnOperationTimeUpdateEvent(Operation operation)
         {
-            UpdateRedPoint();
+            
+            if (operation == Operation.default48)
+            {
+                if (WindowCenter.Instance.IsOpen<YunShiWin>())
+                {
+                    WindowCenter.Instance.Close<YunShiWin>();
+                }
+                UpdateRedPoint();
+            }
         }
 
         private void OnRefreshXBTypeInfoAct()

--
Gitblit v1.8.0