From 8d22c913b691d571052eee46393cbb5ee2631221 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 29 九月 2025 21:43:46 +0800
Subject: [PATCH] 11 【内政】淘金系统-测试bug

---
 Main/System/InternalAffairs/GoldRushTentCell.cs   |   18 +++++++++++++++++-
 Main/System/InternalAffairs/GoldRushWorkerWin.cs  |   11 +++++++++++
 Main/System/InternalAffairs/GoldRushWorkerCell.cs |    4 +++-
 3 files changed, 31 insertions(+), 2 deletions(-)

diff --git a/Main/System/InternalAffairs/GoldRushTentCell.cs b/Main/System/InternalAffairs/GoldRushTentCell.cs
index 39c9d28..e71b374 100644
--- a/Main/System/InternalAffairs/GoldRushTentCell.cs
+++ b/Main/System/InternalAffairs/GoldRushTentCell.cs
@@ -18,6 +18,7 @@
     [SerializeField] GameObject lockMoneyGo;
     [SerializeField] Button unlockMoneyBtn; //璐у竵瑙i攣
     [SerializeField] Image unlockMoneyIcon;
+    [SerializeField] Image unlockMoneyRedpoint;
     [SerializeField] Text unlockMoneyText;
     [SerializeField] GameObject goldRushMissionWaitGo;  //鏈彂甯冧换鍔�
     [SerializeField] GameObject goldRushMissionWorkingGo;  //宸插彂甯冧换鍔�
@@ -66,6 +67,7 @@
         GoldRushManager.Instance.OnGoldRushInfoEvent += Display;
         GoldRushManager.Instance.OnRefreshItemEvent += OnRefreshItemEvent;
         GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
+        PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefreshEvent;
         leaderCount = GoldRushManager.Instance.GetCampWorkerCnt(campID);
         Display();
         
@@ -79,6 +81,19 @@
         GoldRushManager.Instance.OnGoldRushInfoEvent -= Display;
         GoldRushManager.Instance.OnRefreshItemEvent -= OnRefreshItemEvent;
         GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
+        PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefreshEvent;
+    }
+
+    void OnPlayerDataRefreshEvent(PlayerDataType type)
+    {
+        if (type == GoldRushManager.Instance.unLockMoneyType)
+        {
+            if (GoldRushManager.Instance.GetCampLockState(campID) == 2)
+            { 
+                var campConfig = GoldRushCampConfig.Get(campID);
+                unlockMoneyRedpoint.SetActive(UIHelper.CheckMoneyCount(campConfig.MoneyUnlock[0], campConfig.MoneyUnlock[1], 0));
+            }
+        }
     }
 
     void FixFollowWoker(int lockState)
@@ -186,6 +201,7 @@
             unLockBtn.SetActive(false);
             lockMoneyGo.SetActive(true);
 
+            unlockMoneyRedpoint.SetActive(UIHelper.CheckMoneyCount(campConfig.MoneyUnlock[0], campConfig.MoneyUnlock[1], 0));
             unlockMoneyIcon.SetIconWithMoneyType(campConfig.MoneyUnlock[0]);
             unlockMoneyText.text = campConfig.MoneyUnlock[1].ToString();
             goldRushMissionWaitGo.SetActive(false);
@@ -515,7 +531,7 @@
             }
         }
 
-        if (followBack)
+        if (followBack&& GoldRushManager.Instance.GetCampWorkerCnt(campID) == 0)
         {
             StartMove(true);
             workState = 2;
diff --git a/Main/System/InternalAffairs/GoldRushWorkerCell.cs b/Main/System/InternalAffairs/GoldRushWorkerCell.cs
index 43ad061..91b6211 100644
--- a/Main/System/InternalAffairs/GoldRushWorkerCell.cs
+++ b/Main/System/InternalAffairs/GoldRushWorkerCell.cs
@@ -15,6 +15,7 @@
     [SerializeField] Button lockMoneyBtn;
     [SerializeField] Text lockMoneyText;
     [SerializeField] Image lockMoneyIcon;
+    [SerializeField] Image lockMoneyRedpoint;
 
 
     public void Display(int workerID)
@@ -37,7 +38,7 @@
                 lockLVText.text = Language.Get("L1037", lockLV);
             }
             else
-            { 
+            {
                 unLockBtn.SetActive(true);
                 unLockBtn.AddListener(() =>
                 {
@@ -56,6 +57,7 @@
             lockLVRect.SetActive(false);
             unLockBtn.SetActive(false);
             lockMoneyBtn.SetActive(true);
+            lockMoneyRedpoint.SetActive(UIHelper.CheckMoneyCount(config.MoneyUnlock[0], config.MoneyUnlock[1], 0));
             lockMoneyIcon.SetIconWithMoneyType(config.MoneyUnlock[0]);
             lockMoneyText.text = config.MoneyUnlock[1].ToString();
             lockMoneyBtn.AddListener(() =>
diff --git a/Main/System/InternalAffairs/GoldRushWorkerWin.cs b/Main/System/InternalAffairs/GoldRushWorkerWin.cs
index 880b8fb..cf5e7e1 100644
--- a/Main/System/InternalAffairs/GoldRushWorkerWin.cs
+++ b/Main/System/InternalAffairs/GoldRushWorkerWin.cs
@@ -49,6 +49,7 @@
         workMgrScroller.OnRefreshCell += OnRefreshWorkMgrCell;
         workersScroller.OnRefreshCell += OnRefreshWorkersCell;
         GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
+        PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefreshEvent;
 
         if (functionOrder == 0)
         {
@@ -68,6 +69,16 @@
         workMgrScroller.OnRefreshCell -= OnRefreshWorkMgrCell;
         workersScroller.OnRefreshCell -= OnRefreshWorkersCell;
         GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
+        PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefreshEvent;
+    }
+
+
+    void OnPlayerDataRefreshEvent(PlayerDataType type)
+    {
+        if (type == GoldRushManager.Instance.unLockMoneyType)
+        {
+            workersScroller.m_Scorller.RefreshActiveCellViews();
+        }
     }
 
 

--
Gitblit v1.8.0