From 1554540dadfe8a948ed1557e4849be7a8a994aef Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 14 一月 2026 18:37:30 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/Guild/GuildManager.cs |  134 ++++++++++++++++++++++++++++++++++----------
 1 files changed, 103 insertions(+), 31 deletions(-)

diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index 23369b2..2770d30 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>();
     // 鍏細鑷畾涔夎褰曢檮鍔犳暟鎹紝鎸夌被鍨嬪瓨鍌�
@@ -32,38 +39,49 @@
 
     public byte[] donateCntList;
     public event Action DonateCntListEvent;
-    public event Action<bool> EnterOrQuitGuildEvent;   //杩涘叆鎴栭��鍑哄叕浼氫簨浠�
+    public event Action<bool> EnterOrQuitGuildEvent;   //true杩涘叆鎴杅alse閫�鍑哄叕浼氫簨浠�
 
 
     public override void Init()
     {
         ParseConfig();
-        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitialize;
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitializeEx;
         DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
         PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
+        TimeMgr.Instance.OnHourEvent += UpdateZBGRedpoint;
     }
     public override void Release()
     {
-        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitialize;
+        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitializeEx;
         DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
         PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
+        TimeMgr.Instance.OnHourEvent -= UpdateZBGRedpoint;
     }
 
 
     void OnBeforePlayerDataInitialize()
     {
         ClearGuildData();
+        donateCntList = null;
+    }
+
+    void OnBeforePlayerDataInitializeEx()
+    {
+        guildChanged = false;
+        isQueryZBGYet = false;
     }
 
     void OnPlayerLoginOk()
     {
         UpdateDonateRedPoint();
-        QueryZBGFamilyInfo();
+
     }
-    
+
     void PlayerDataRefreshEvent(PlayerDataType type)
     {
-        if(type == PlayerDataType.default33)
+        if (type == PlayerDataType.default33)
         {
             UpdateDonateRedPoint();
         }
@@ -71,13 +89,19 @@
 
     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();
     }
-    
+
     //閫�鍑哄叕浼�
     public void AfterQuitGuild()
     {
@@ -87,11 +111,11 @@
         UIManager.Instance.GetUI<MainWin>()?.ClickFunc(0);
 
 
-        isQueryZBGYet = false;
-        zhenbaogeCutState = 0;
-        familyZBGActions.Clear();
-        sortPlayerCut.Clear();
-        
+        // isQueryZBGYet = false;
+        // zhenbaogeCutState = 0;
+        // familyZBGActions.Clear();
+        // sortPlayerCut.Clear();
+
         UpdateZBGRedpoint();
         UpdateDonateRedPoint();
         EnterOrQuitGuildEvent?.Invoke(false);
@@ -104,6 +128,7 @@
         await UniTask.Delay(100);
         UpdateDonateRedPoint();
         UpdateZBGRedpoint();
+        QueryZBGFamilyInfo();
         EnterOrQuitGuildEvent?.Invoke(true);
     }
 
@@ -137,7 +162,7 @@
     public int renameFairyNameMoneyType;
 
 
-    
+
 
     //鐝嶅疂闃�(琛屽晢)
     public int zhenbaogeCutState = 0;
@@ -146,7 +171,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 +409,6 @@
 
 
 
-
     #region 浠欑洘鍟嗗簵寮�鍚�
     public int fairyStoreLimit = 0;
     public bool fairyStoreOpen
@@ -422,13 +446,36 @@
     #region  鍏細鑷畾涔夎褰�
     public void UpdateFamilyAction(HA513_tagMCFamilyActionInfo _package)
     {
-        if (PlayerDatas.Instance.fairyData == null ||
-            PlayerDatas.Instance.fairyData.fairy == null ||
-            PlayerDatas.Instance.fairyData.fairy.FamilyID != _package.FamilyID)
+        if (PlayerDatas.Instance.baseData.FamilyId != _package.FamilyID)
         {
             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 +483,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;
@@ -527,6 +573,21 @@
         GameNetSystem.Instance.SendInfo(pack);
     }
 
+    public void SendFindGuildNoDecrypt(string msg, int pageIndex = 0, int pageSize = 20)
+    {
+        if (pageIndex == 0)
+        {
+            //榛樿鏌ヨ绗竴椤靛嵆浠h〃閲嶆柊寮�濮嬫煡璇紝娓呯┖涔嬪墠鐨勬暟鎹�
+            guildsDict.Clear();
+            pageIndexList.Clear();
+        }
+        var pack = new CA620_tagCMViewFamilyPage();
+        pack.Msg = msg;
+        pack.MsgLen = (byte)msg.Length;
+        pack.PageIndex = (byte)pageIndex;
+        pack.ShowCount = (byte)pageSize;
+        GameNetSystem.Instance.SendInfo(pack);
+    }
 
     public static void SetFairyViewData(FairyData data, HA523_tagMCFamilyViewList.tagMCFamilyView view)
     {
@@ -764,7 +825,7 @@
     #endregion
 
     #region 鐝嶅疂闃�
-        
+
 
     public void UpdateZhenbaogeInfo(HA512_tagMCFamilyZhenbaogeInfo netPack)
     {
@@ -784,7 +845,7 @@
         if (isQueryZBGYet)
             return;
 
-        QueryFamilyAction((int)PlayerDatas.Instance.baseData.FamilyId, 16);
+        QueryFamilyAction((int)PlayerDatas.Instance.baseData.FamilyId, ZBGFamilyActionType);
 
         isQueryZBGYet = true;
     }
@@ -792,15 +853,21 @@
 
 
     //鏇存柊鐮嶄环淇℃伅
-    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)
+        
+        for (int i = 0; i < vNetData.FamilyActionList.Length; i++)
         {
+            int playerID = (int)vNetData.FamilyActionList[i].Value1;
+            if (playerID != 1)
+            {
+                continue;
+            }
             if (familyZBGActions.ContainsKey(1) && familyZBGActions[1].Time != vNetData.FamilyActionList[0].Time)
             {
                 familyZBGActions.Clear();
@@ -808,6 +875,7 @@
                 restart = true;
             }
         }
+
 
         for (int i = 0; i < vNetData.FamilyActionList.Length; i++)
         {
@@ -834,6 +902,8 @@
 
         UpdateFamilyActionEvent?.Invoke(restart);
         UpdateZBGRedpoint();
+
+        return true;
     }
 
     //鐮嶄环浜烘暟
@@ -871,7 +941,7 @@
     }
 
 
-    public Dictionary <int, FairyMember> tmpNoCutMembers = new Dictionary<int, FairyMember>();
+    public Dictionary<int, FairyMember> tmpNoCutMembers = new Dictionary<int, FairyMember>();
 
     //鏈浠锋垚鍛�
     public void CalcNoCutMembers()
@@ -883,7 +953,7 @@
             return;
         }
 
-        foreach(var playerID in fairy.memberIDList)
+        foreach (var playerID in fairy.memberIDList)
         {
             if (!familyZBGActions.ContainsKey(playerID))
             {
@@ -896,10 +966,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()
     {
@@ -930,7 +1000,7 @@
             }
         }
     }
-    
+
     public void UpdateZBGRedpoint()
     {
         zbgRedpoint.state = RedPointState.None;
@@ -939,6 +1009,8 @@
         {
             return;
         }
+        if (TimeUtility.ServerNow.Hour < 10)
+            return;
 
         if (zhenbaogeCutState == 0)
         {

--
Gitblit v1.8.0