From ed63aa36ced400b4eef79862e85498213ae40c4a Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期五, 19 十二月 2025 16:43:55 +0800
Subject: [PATCH] 0312 满星蓝卡提醒可遣散

---
 Main/System/Guild/GuildManager.cs |   74 +++++++++++++++++++++++++++++-------
 1 files changed, 59 insertions(+), 15 deletions(-)

diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index 23369b2..6cf856c 100644
--- a/Main/System/Guild/GuildManager.cs
+++ b/Main/System/Guild/GuildManager.cs
@@ -10,6 +10,13 @@
 
 public class GuildManager : GameSystemManager<GuildManager>
 {
+    // 瀹舵棌鑷畾涔夎褰曠被鍨�
+    public const int CustomyActionType = 0;     //閫氱敤
+    public const int MemberChangeActionType = 12;      //鍏細鍙樻洿璁板綍
+    public const int FamilyActionsType = 15;     // 鍏細璁板綍寰界珷绫诲瀷15
+    public const int ZBGFamilyActionType = 16;  // 鐝嶅疂闃佽褰曠被鍨�
+    public const int GuildBossActionType = 18;  //璁ㄤ紣
+
     // 鐢宠鐨勫叕浼氬垪琛�
     private List<int> m_FairyRequesteds = new List<int>();
     // 鍏細鑷畾涔夎褰曢檮鍔犳暟鎹紝鎸夌被鍨嬪瓨鍌�
@@ -41,24 +48,27 @@
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
         DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
         PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
+        TimeMgr.Instance.OnHourEvent += UpdateZBGRedpoint;
     }
     public override void Release()
     {
         DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
         DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
         PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
+        TimeMgr.Instance.OnHourEvent -= UpdateZBGRedpoint;
     }
 
 
     void OnBeforePlayerDataInitialize()
     {
         ClearGuildData();
+        donateCntList = null;
     }
 
     void OnPlayerLoginOk()
     {
         UpdateDonateRedPoint();
-        QueryZBGFamilyInfo();
+        
     }
     
     void PlayerDataRefreshEvent(PlayerDataType type)
@@ -71,11 +81,17 @@
 
     void ClearGuildData()
     {
+        PlayerDatas.Instance.baseData.FamilyId = 0;
         m_FairyRequesteds.Clear();
         familyActions.Clear();
         guildChanged = false;
         applyList.Clear();
         PlayerDatas.Instance.fairyData.ClearData();
+
+        isQueryZBGYet = false;
+        zhenbaogeCutState = 0;
+        familyZBGActions.Clear();
+        sortPlayerCut.Clear();
     }
     
     //閫�鍑哄叕浼�
@@ -87,10 +103,10 @@
         UIManager.Instance.GetUI<MainWin>()?.ClickFunc(0);
 
 
-        isQueryZBGYet = false;
-        zhenbaogeCutState = 0;
-        familyZBGActions.Clear();
-        sortPlayerCut.Clear();
+        // isQueryZBGYet = false;
+        // zhenbaogeCutState = 0;
+        // familyZBGActions.Clear();
+        // sortPlayerCut.Clear();
         
         UpdateZBGRedpoint();
         UpdateDonateRedPoint();
@@ -104,6 +120,7 @@
         await UniTask.Delay(100);
         UpdateDonateRedPoint();
         UpdateZBGRedpoint();
+        QueryZBGFamilyInfo();
         EnterOrQuitGuildEvent?.Invoke(true);
     }
 
@@ -146,7 +163,7 @@
     public event Action UpdateZhenbaogeEvent;
     public bool isQueryZBGYet = false;
     public float lastZBGStartTime = 0; //杩囧ぉ鍒锋柊鐢�
-    public const int ZBGFamilyActionType = 16;
+    
     //{id:鏁版嵁} 鐮嶄环琛屼负锛寁alue1涓虹帺瀹禝D锛岀壒娈婄害瀹氫负1鏃朵负瀹舵棌鐨勬暟鎹�
     public Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction> familyZBGActions = new Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction>();
     public List<int> sortPlayerCut = new List<int>();
@@ -384,7 +401,6 @@
 
 
 
-
     #region 浠欑洘鍟嗗簵寮�鍚�
     public int fairyStoreLimit = 0;
     public bool fairyStoreOpen
@@ -429,6 +445,31 @@
             return;
         }
 
+        // 琛屽晢 鐮嶄环
+        if (UpdateHawkerAction(_package))
+        {
+            return;
+        }
+
+        // 寰界珷
+        if (GuildEmblemModel.Instance.UpdateEmblemAction(_package))
+        {
+            return;
+        }
+
+        // 鍏細璁ㄤ紣
+        if (GuildBossManager.Instance.UpdateGuildBossInfo(_package))
+        {
+            return;
+        }
+
+        //涓婇潰鍚勪釜鍔熻兘瑕乺eturn
+        UpdataCommonAction(_package);
+    }
+
+    // 閫氱敤璁板綍 鍙�傜敤鍗曟潯鏁版嵁鐨勮褰曟儏鍐� 鎴栨湁鏈嶅姟绔繚璇佸垪琛ㄥ叏閮ㄤ俊鎭洿鎺ヨ鐩栵紝鍏朵粬鍔熻兘姣旇緝澶嶆潅鍚勮嚜璐熻矗瀛樺偍
+    void UpdataCommonAction(HA513_tagMCFamilyActionInfo _package)
+    {
         if (!familyActions.ContainsKey((int)_package.FamilyID))
         {
             familyActions.Add((int)_package.FamilyID, new Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction[]>());
@@ -436,11 +477,10 @@
 
         familyActions[(int)_package.FamilyID][_package.ActionType] = _package.FamilyActionList;
 
-        UpdateHawkerAction(_package);
-
         FamilyActionInfoEvent?.Invoke((int)_package.FamilyID, _package.ActionType);
     }
 
+    // 閫氱敤璁板綍 
     public bool TryGetFamilyActions(int actionType, out HA513_tagMCFamilyActionInfo.tagMCFamilyAction[] familyAction)
     {
         familyAction = null;
@@ -784,7 +824,7 @@
         if (isQueryZBGYet)
             return;
 
-        QueryFamilyAction((int)PlayerDatas.Instance.baseData.FamilyId, 16);
+        QueryFamilyAction((int)PlayerDatas.Instance.baseData.FamilyId, ZBGFamilyActionType);
 
         isQueryZBGYet = true;
     }
@@ -792,11 +832,11 @@
 
 
     //鏇存柊鐮嶄环淇℃伅
-    public void UpdateHawkerAction(HA513_tagMCFamilyActionInfo vNetData)
+    public bool UpdateHawkerAction(HA513_tagMCFamilyActionInfo vNetData)
     {
         if (vNetData.ActionType != ZBGFamilyActionType)
         {
-            return;
+            return false;
         }
         bool restart = false;
         if (vNetData.FamilyActionList.Length == 1 && vNetData.FamilyActionList[0].Value1 == 1)
@@ -834,6 +874,8 @@
 
         UpdateFamilyActionEvent?.Invoke(restart);
         UpdateZBGRedpoint();
+
+        return true;
     }
 
     //鐮嶄环浜烘暟
@@ -896,10 +938,10 @@
 
 
     #region 绾㈢偣
-    Redpoint hallRedpoint = new Redpoint(MainRedDot.MainGuildRedpoint, MainRedDot.guildHallRedpointID);
-    Redpoint donateRedpoint = new Redpoint(MainRedDot.guildHallRedpointID, MainRedDot.guildHallRedpointID * 10);
+    
+    Redpoint donateRedpoint = new Redpoint(MainRedDot.guildHallRedpointID, MainRedDot.donateRedpointID);
     //鐝嶅疂闃�(琛屽晢)
-    Redpoint zbgRedpoint = new Redpoint(MainRedDot.MainGuildRedpoint, MainRedDot.MainGuildRedpoint * 100 + 1);
+    Redpoint zbgRedpoint = new Redpoint(MainRedDot.MainGuildRedpoint, MainRedDot.hawkerRedpointID);
 
     void UpdateDonateRedPoint()
     {
@@ -939,6 +981,8 @@
         {
             return;
         }
+        if (TimeUtility.ServerNow.Hour < 10)
+            return;
 
         if (zhenbaogeCutState == 0)
         {

--
Gitblit v1.8.0