From 45d3d873a7740886fa09f35c9fea2830f4563072 Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期三, 11 二月 2026 11:04:37 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into h5version

---
 Main/System/Guild/GuildManager.cs |  109 +++++++++++++++++++++++-------------------------------
 1 files changed, 47 insertions(+), 62 deletions(-)

diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index 9dd2295..4366d50 100644
--- a/Main/System/Guild/GuildManager.cs
+++ b/Main/System/Guild/GuildManager.cs
@@ -8,10 +8,9 @@
 using UnityEngine;
 
 
-public class GuildManager : GameSystemManager<GuildManager>
+public partial 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;  // 鐝嶅疂闃佽褰曠被鍨�
@@ -69,13 +68,14 @@
 
     void OnBeforePlayerDataInitialize()
     {
+        zoneID = 0;
+        crossServerIDList.Clear();
         ClearGuildData();
         donateCntList = null;
     }
 
     void OnBeforePlayerDataInitializeEx()
     {
-        guildChanged = false;
         isQueryZBGYet = false;
     }
 
@@ -98,7 +98,6 @@
         PlayerDatas.Instance.baseData.FamilyId = 0;
         m_FairyRequesteds.Clear();
         familyActions.Clear();
-        guildChanged = false;
         applyList.Clear();
         PlayerDatas.Instance.fairyData.ClearData();
 
@@ -231,8 +230,8 @@
 
 
         config = FuncConfigConfig.Get("FamilyBillboardSet");
-        rankShowMaxCnt = int.Parse(config.Numerical1);
-        pageCnt = int.Parse(config.Numerical2);
+        pageCnt = int.Parse(config.Numerical1);
+        queryPointNum = int.Parse(config.Numerical2);
     }
 
 
@@ -352,7 +351,7 @@
                 punishTime = quitGuildPunishTime[Math.Min(quitCount, quitGuildPunishTime.Length - 1)];
         }
 
-        return punishTime * 60 - (TimeUtility.AllSeconds - PlayerDatas.Instance.baseData.leaveFamilyTime);
+        return punishTime * 60 - (TimeUtility.GetCommServerTick(zoneID)- PlayerDatas.Instance.baseData.leaveFamilyTime);
     }
 
 
@@ -536,6 +535,7 @@
 
     // 鏌ユ壘鐨勫叕浼欼D锛氬叕浼氭暟鎹�
     public Dictionary<int, FairyData> guildsDict = new Dictionary<int, FairyData>();
+    public int myFairyRank;
     // 鎸夋煡璇㈤〉瀛樺偍
     public List<int> pageIndexList = new List<int>();  //姝e父鏄寜椤垫煡璇紝椤哄簭娣诲姞鍗冲彲
     public int curPageIndex;
@@ -544,7 +544,6 @@
     public int lastPage = -1;
     public int pageCnt; //姣忛〉鏌ヨ鏉℃暟
     int queryPointNum;  //鏌ヨ鐐�
-    public int rankShowMaxCnt;
 
     public bool isPowerSort
     {
@@ -597,13 +596,6 @@
             if (lastPage >= page)
                 return;
             lastPage = page;
-
-            if (index >= rankShowMaxCnt)
-            {
-                //瓒呰繃鏈嶅姟鍣ㄥ凡涓婃鐨勬�绘暟閲忥紝姣斿鎬绘鍗曟槸100鍚嶏紝褰撳墠鍙湁8鍚嶇帺瀹朵笂姒滐紝寰�涓嬫粴鍔ㄥ氨涓嶅啀鏌ヨ
-                return;
-            }
-            //Debug.LogFormat("鍒嗛〉鏌ヨ锛氳姹傜 {0} 椤� (褰撳墠index:{1})", page + 1, index);
             SendFindGuild(string.Empty, page + 1, pageCnt);
         }
     }
@@ -621,7 +613,7 @@
             SetFairyViewData(data, guildInfo);
             pageIndexList.Add((int)guildInfo.FamilyID);
         }
-
+        myFairyRank = (int)vNetData.Rank;   //0-娌℃湁鍏細鎴栨病鏈夊湪姒滀笂锛�>0-瀵瑰簲鎺掑悕
 
         if (OnRefreshFairyList != null)
         {
@@ -654,28 +646,13 @@
         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)
     {
         data.Rank = view.Rank;
         data.FamilyID = (int)view.FamilyID;
         data.FamilyName = view.FamilyName;
         data.LeaderID = (int)view.LeaderID;
+        data.LeaderServerID = (int)view.LeaderServerID;
         data.LeaderName = view.LeaderName;
         data.FamilyLV = view.FamilyLV;
         data.JoinReview = view.JoinReview;
@@ -687,6 +664,43 @@
         data.MemberCount = view.MemberCount;
     }
 
+    #endregion
+
+    #region 鏌ョ湅鐩爣鍏細
+    public Dictionary<int, FairyData> viewGuildsDict = new Dictionary<int, FairyData>();
+
+    public event Action OnUpdateViewFamilyInfo;
+
+    public void UpdateViewFamilyInfo(HA519_tagSCTagFamilyInfo pack)
+    {
+        FairyData data = new FairyData();
+        SetFairyViewData(data, pack);
+        viewGuildsDict[(int)data.FamilyID] = data;
+        OnUpdateViewFamilyInfo?.Invoke();
+    }
+
+    public static void SetFairyViewData(FairyData data, HA519_tagSCTagFamilyInfo view)
+    {
+        data.FamilyID = (int)view.FamilyID;
+        data.FamilyName = view.FamilyName;
+        data.LeaderID = (int)view.LeaderID;
+        data.LeaderServerID = (int)view.LeaderServerID;
+        data.LeaderName = view.LeaderName;
+        data.FamilyLV = view.FamilyLV;
+        data.ServerID = (int)view.ServerID;
+        data.EmblemID = (int)view.EmblemID;
+        data.EmblemWord = view.EmblemWord;
+        data.totalFightPower = view.FightPowerEx * Constants.ExpPointValue + view.FightPower;
+        data.MemberCount = view.MemberCount;
+    }
+
+    public void SendViewGuild(int fairyID, int serverID)
+    {
+        var pack = new CA619_tagCSViewTagFamily();
+        pack.FamilyID = (uint)fairyID;
+        pack.DataServerID = (uint)serverID;
+        GameNetSystem.Instance.SendInfo(pack);
+    }
     #endregion
 
     #region 鐢宠鍒楄〃
@@ -871,35 +885,6 @@
     }
     #endregion
 
-    float lastChangeMarkTime = 0;   //鎵撳紑鐣岄潰鎯呭喌涓嬮伩鍏嶇煭鏃堕棿澶氭绔嬪嵆璇锋眰锛孋/S閫氫俊涔熸槸鏈夋椂闂撮棿闅�
-    public bool guildChanged = false;
-    //Type锛�0-鏃狅紱1-鎴愬憳鍔犲叆锛�2-鎴愬憳閫�鍑猴紱3-鏀朵汉璁剧疆淇敼锛�4-鍏憡淇敼锛�5-寰界珷淇敼锛�6-鐩熶富鍙樻洿锛�7-鎴愬憳鑱屼綅鍙樻洿锛�8-鎴愬憳涓婄嚎锛�9-鎴愬憳绂荤嚎锛�
-    //鍏細鏁版嵁鍙樺寲锛岃姹傛柊鐨勫叕浼氫俊鎭紝濡傚湪鎵撳紑鍏細鍒楄〃鏃惰姹傦紝鍏朵粬鍔熻兘鏍规嵁鑷韩鎯呭喌璇锋眰
-    public void UpdateGuildDataChangeMark(HA521_tagMCFamilyChange netPack)
-    {
-        guildChanged = true;
-        if (Time.time - lastChangeMarkTime < 0.2f)
-        {
-            //灏忎紭鍖� 濡傛灉鏈夐棶棰樹篃鍙互鍘婚櫎
-            return;
-        }
-        lastChangeMarkTime = Time.time;
-        if ((netPack.Type == 1 || netPack.Type == 2) && UIManager.Instance.IsOpened<GuildBaseWin>())
-        {
-            RequestGuildData();
-        }
-    }
-
-    public void RequestGuildData()
-    {
-        if (guildChanged)
-        {
-            guildChanged = false;
-            var pack = new CA626_tagCMGetFamilyInfo();
-            GameNetSystem.Instance.SendInfo(pack);
-
-        }
-    }
 
     public void SendKickFairy(uint playerID)
     {
@@ -1156,7 +1141,7 @@
         {
             return;
         }
-        if (TimeUtility.ServerNow.Hour < 10)
+        if (TimeUtility.GetCommServerNow(zoneID).Hour < 10)
             return;
 
         if (zhenbaogeCutState == 0)

--
Gitblit v1.8.0