From 75c4861be8567f6705af1c71e11ba8555d9ed6a2 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 29 九月 2025 22:36:26 +0800
Subject: [PATCH] 6 【主界面】仙树升级-测试bug

---
 Main/System/InternalAffairs/AffairBaseWin.cs |    7 ++++++-
 Main/System/Equip/BlessLVTimeUpWin.cs        |   23 ++++++++++++++++++++++-
 Main/System/Equip/BlessLVManager.cs          |    4 +---
 3 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/Main/System/Equip/BlessLVManager.cs b/Main/System/Equip/BlessLVManager.cs
index 8253544..93ee8c1 100644
--- a/Main/System/Equip/BlessLVManager.cs
+++ b/Main/System/Equip/BlessLVManager.cs
@@ -117,12 +117,10 @@
             if (PackManager.Instance.GetSinglePack(PackType.Item).HasItem(timeUpTreeItemID))
             {
                 redpointTreeItem.state = RedPointState.Simple;
-                return;
             }
-            if (m_FreeTimeCnt > 0 && GetFreeRemainTime() <= 0)
+            if (m_FreeTimeCnt < dayFreeMaxTimes && GetFreeRemainTime() <= 0)
             {
                 redpointTreeFree.state = RedPointState.Simple;
-                return;
             }
 
 
diff --git a/Main/System/Equip/BlessLVTimeUpWin.cs b/Main/System/Equip/BlessLVTimeUpWin.cs
index 47e2708..9f7d249 100644
--- a/Main/System/Equip/BlessLVTimeUpWin.cs
+++ b/Main/System/Equip/BlessLVTimeUpWin.cs
@@ -24,6 +24,7 @@
 
     protected override void OnPreOpen()
     {
+        GlobalTimeEvent.Instance.secondEvent += OnTimeEvent;
         int count = (int)PackManager.Instance.GetItemCountByID(PackType.Item, BlessLVManager.Instance.timeUpTreeItemID);
         itemCell.Init(new ItemCellModel(BlessLVManager.Instance.timeUpTreeItemID, false, count));
         itemCell.button.AddListener(() =>
@@ -36,6 +37,18 @@
         showCount = Math.Min(count, needCount);
         RefreshCount(needCount, remainTime);
         RefreshBtn(showCount);
+    }
+
+    protected override void OnPreClose()
+    {
+        GlobalTimeEvent.Instance.secondEvent -= OnTimeEvent;
+    }
+
+    void OnTimeEvent()
+    { 
+        var remainTime = BlessLVManager.Instance.GetLVUPRemainTime();
+        int needCount = (int)Math.Ceiling((float)remainTime / BlessLVManager.Instance.timeUpTreeItemSubTime);
+        RefreshCount(needCount, remainTime);
     }
 
     int showCount;
@@ -102,10 +115,18 @@
 
     void OnSpeedUP()
     {
+        CloseWindow();
+        int count = (int)PackManager.Instance.GetItemCountByID(PackType.Item, BlessLVManager.Instance.timeUpTreeItemID);
+        if (count <= 0)
+        { 
+            SysNotifyMgr.Instance.ShowTip("ItemNotEnoughCommon");
+            ItemTipUtility.Show(BlessLVManager.Instance.timeUpTreeItemID, true);
+            return;
+        }
         var pack = new CB224_tagCMUseTreeLVUPTimeItem();
         pack.UseCount = (uint)showCount;
         GameNetSystem.Instance.SendInfo(pack);
-        CloseWindow();
+        SysNotifyMgr.Instance.ShowTip("BlessLV1", TimeUtility.SecondsToShortDHMS(showCount * BlessLVManager.Instance.timeUpTreeItemSubTime));
     }
 }
 
diff --git a/Main/System/InternalAffairs/AffairBaseWin.cs b/Main/System/InternalAffairs/AffairBaseWin.cs
index 3c6f01b..ed35a24 100644
--- a/Main/System/InternalAffairs/AffairBaseWin.cs
+++ b/Main/System/InternalAffairs/AffairBaseWin.cs
@@ -47,7 +47,7 @@
         GoldRushManager.Instance.OnAutoWorkingEvent += OnAutoWorkingEvent;
         GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
         PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
-        GoldRushManager.Instance.ResumeAutoWorking();
+        
         Display();
         GoldRushManager.Instance.GetAllAward();
     }
@@ -60,6 +60,11 @@
         PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
     }
 
+    protected override void OnOpen()
+    {
+        GoldRushManager.Instance.ResumeAutoWorking();
+    }
+
     void Display()
     {
         fullGoldRush.SetActive(GoldRushManager.Instance.GetFinishGoldRushCount() >= GoldRushManager.Instance.warehouseMaxCnt);

--
Gitblit v1.8.0