From c2f4fe92b82e666757fbd8e707f2e3c193321e1f Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期四, 13 二月 2025 15:39:53 +0800
Subject: [PATCH] 10384 福地探寻修复周围搜索后,解锁选项消失bug,使用刷新和超级刷新后,播放特效文字

---
 System/BlessedLand/BlessedLandSeekWin.cs |   24 ++++++++++++++++++------
 System/BlessedLand/BlessedLandWin.cs     |   17 +++++++++++++++++
 System/BlessedLand/BlessedLandModel.cs   |   19 ++++++++++++++++---
 3 files changed, 51 insertions(+), 9 deletions(-)

diff --git a/System/BlessedLand/BlessedLandModel.cs b/System/BlessedLand/BlessedLandModel.cs
index ab6a11e..c40d3ef 100644
--- a/System/BlessedLand/BlessedLandModel.cs
+++ b/System/BlessedLand/BlessedLandModel.cs
@@ -87,6 +87,7 @@
         public event Action UpdatePullPreviewMine;
         public Action UpdateMineAreaData;
         public event Action UpdateTurnFightStateInfo;
+        public event Action<int> PlayRefreshUIEffect;
         Redpoint mainRedPoint = new Redpoint(MainRedDot.FAIRY_REDPOINT_KEY2, MainRedDot.BlessedLandRedpoint);                                               //绂忓湴鍏ュ彛绾㈢偣
         Redpoint manageRedPoint = new Redpoint(MainRedDot.BlessedLandRedpoint, MainRedDot.BlessedLandRedpoint * 10 + 1);     //绠$悊鎸夐挳绾㈢偣
         Redpoint employRedPoint = new Redpoint(MainRedDot.BlessedLandRedpoint * 10 + 1, MainRedDot.BlessedLandRedpoint * 10 + 2);     //闆囦剑鎸夐挳绾㈢偣
@@ -136,7 +137,7 @@
             realmUnlockPlayerCountArr = JsonMapper.ToObject<int[][]>(FuncConfigConfig.Get("MineAreaRob2").Numerical1);
             for (int i = 0; i < realmUnlockPlayerCountArr.Length; i++)
             {
-                realmUnlockPlayerCountDict[realmUnlockPlayerCountArr[i][1] - 1] = realmUnlockPlayerCountArr[i][0];
+                realmUnlockPlayerCountDict[realmUnlockPlayerCountArr[i][1]] = realmUnlockPlayerCountArr[i][0];
             }
 
             #endregion
@@ -840,10 +841,16 @@
             UpdateMineAreaData?.Invoke();
             UpdateRedpoint();
         }
-
+        public int QueryType;
+        public int QueryValue;
         public void UpdateDetailedBlessedLandInformation(HB033_tagGCMineAreaInfo source)
         {
-            int QueryType = source.QueryType;
+            //QueryType = 99 鏃朵负鍒锋柊鍚屾
+            //QueryValue = 0 - 鏅�氬埛鏂帮紱 1 - 瓒呯骇鍒锋柊
+            QueryType = source.QueryType;
+            QueryValue = (int)source.QueryValue;
+            
+
             List<uint> playerIdList = new List<uint>();
             for (int i = 0; i < source.AreaList.Length; i++)
             {
@@ -876,7 +883,13 @@
                     if (blessedLandManageMouseModel.startState)
                         blessedLandManageMouseModel.StratAuto();
                     break;
+                case 99:
+                    PlayRefreshUIEffect?.Invoke(QueryValue);
+                    UpdateNewAreaData?.Invoke(playerIdList);
+                    UpdateRedpoint();
+                    break;
             }
+
         }
 
         //0 瀵昏鍒锋柊鎸夐挳 1 浠欑洘鎽囦汉鎸夐挳 2 濂藉弸鎽囦汉鎸夐挳
diff --git a/System/BlessedLand/BlessedLandSeekWin.cs b/System/BlessedLand/BlessedLandSeekWin.cs
index 567a10c..63dd46d 100644
--- a/System/BlessedLand/BlessedLandSeekWin.cs
+++ b/System/BlessedLand/BlessedLandSeekWin.cs
@@ -1,4 +1,5 @@
 锘縰sing System.Collections.Generic;
+using System.Dynamic;
 using System.Linq;
 using UnityEngine;
 namespace vnxbqy.UI
@@ -126,20 +127,31 @@
             {
                 List<uint> keyList = blessedLandModel.typeToPlayerIDs[3];
                 int minIndex = blessedLandModel.surroundCount;
-                for (int i = 0; i < keyList.Count; i++)
+
+                Dictionary<int, int> dict = blessedLandModel.realmUnlockPlayerCountDict;
+                var list = dict.Keys.ToList();
+                list.Sort();
+                int maxNum = list[list.Count - 1];
+
+                for (int i = 0; i < maxNum; i++)
                 {
-                    combinedValue = (int)keyList[i] * 10 + 3;
                     CellInfo cellInfo = new CellInfo();
-                    if (i < minIndex)
+                    if (i< keyList.Count)
                     {
-                        cellInfo.infoInt1 = -1;
+                        combinedValue = (int)keyList[i] * 10 + 3;
+                        if (i < minIndex)
+                        {
+                            cellInfo.infoInt1 = -1;
+                        }
+                        else
+                        {
+                            cellInfo.infoInt1 = i - minIndex;
+                        }
                     }
                     else
                     {
                         cellInfo.infoInt1 = i - minIndex;
                     }
-
-
                     itemScroller.AddCell(ScrollerDataType.Normal, combinedValue, cellInfo);
                 }
             }
diff --git a/System/BlessedLand/BlessedLandWin.cs b/System/BlessedLand/BlessedLandWin.cs
index 1db076c..3b31076 100644
--- a/System/BlessedLand/BlessedLandWin.cs
+++ b/System/BlessedLand/BlessedLandWin.cs
@@ -31,6 +31,8 @@
         [SerializeField] Transform transSuperRefresh;
         [SerializeField] TextEx txtSuperRefreshCount;
         [SerializeField] TextEx txtSuperRefreshFree;
+
+        [SerializeField] UIEffect uiEffectRefresh;
         BlessedLandModel blessedLandModel { get { return ModelCenter.Instance.GetModel<BlessedLandModel>(); } }
         BlessedLandManageMouseModel blessedLandManageMouseModel { get { return ModelCenter.Instance.GetModel<BlessedLandManageMouseModel>(); } }
         PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
@@ -100,11 +102,14 @@
             WindowCenter.Instance.windowBeforeCloseEvent += OnWindowBeforeCloseEvent;
             DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
             blessedLandManageMouseModel.StartStateChangeEvent += OnStartStateChangeEvent;
+            blessedLandModel.PlayRefreshUIEffect += OnPlayRefreshUIEffect;
+            uiEffectRefresh.OnComplete += OnUIEffectRefreshComplete;
             ModelCenter.Instance.GetModel<BlessedLandModel>().showPlayerId = blessedLandModel.myPlayerId;
             if (blessedLandModel.AwardType == 0)
                 blessedLandModel.SendCB034Pack();
             Display();
             uiEffectAutoCollectStart.SetActive(blessedLandManageMouseModel.startState);
+            uiEffectRefresh.SetActive(false);
         }
 
         private void OnStartStateChangeEvent()
@@ -189,6 +194,18 @@
             WindowCenter.Instance.windowBeforeCloseEvent -= OnWindowBeforeCloseEvent;
             DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
             blessedLandManageMouseModel.StartStateChangeEvent -= OnStartStateChangeEvent;
+            blessedLandModel.PlayRefreshUIEffect -= OnPlayRefreshUIEffect;
+            uiEffectRefresh.OnComplete -= OnUIEffectRefreshComplete;
+        }
+
+        private void OnUIEffectRefreshComplete()
+        {
+            uiEffectRefresh.SetActive(false);
+        }
+
+        private void OnPlayRefreshUIEffect(int obj)
+        {
+            uiEffectRefresh.SetActive(true);
         }
 
         private void OnWindowBeforeOpenEvent(Window window)

--
Gitblit v1.8.0