From ab1ed975ef8e09299015e97776e98f4cecabc39b Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期六, 07 二月 2026 19:01:49 +0800
Subject: [PATCH] Merge branch 'master' of http://mobile.secondworld.net.cn:10010/r/Project_SG_scripts

---
 Main/Core/NetworkPackage/ClientPack/CA6_Family/CA619_tagCSViewTagFamily.cs                |   20 +++++
 Main/System/Guild/GuildManager.cs                                                         |   53 +++++++++----
 Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA519_tagSCTagFamilyInfo.cs.meta |   11 ++
 Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs                                      |    1 
 Main/System/Guild/GuildPreviewWin.cs                                                      |   13 +++
 Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA519_tagSCTagFamilyInfo.cs      |   12 +++
 Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs                                 |    7 +
 Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs  |   10 +-
 Main/Core/NetworkPackage/ServerPack/HA5_Family/HA519_tagSCTagFamilyInfo.cs                |   49 ++++++++++++
 Main/Core/NetworkPackage/ClientPack/CA6_Family/CA619_tagCSViewTagFamily.cs.meta           |   11 ++
 Main/Core/NetworkPackage/ServerPack/HA5_Family/HA519_tagSCTagFamilyInfo.cs.meta           |   11 ++
 Main/System/OtherPlayerDetail/OtherPlayerDetailWin.cs                                     |   10 +-
 12 files changed, 180 insertions(+), 28 deletions(-)

diff --git a/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA619_tagCSViewTagFamily.cs b/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA619_tagCSViewTagFamily.cs
new file mode 100644
index 0000000..3e19628
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA619_tagCSViewTagFamily.cs
@@ -0,0 +1,20 @@
+using UnityEngine;
+using System.Collections;
+
+// A6 19 鏌ョ湅鐩爣鍏細 #tagCSViewTagFamily
+
+public class CA619_tagCSViewTagFamily : GameNetPackBasic {
+    public uint FamilyID;
+    public uint DataServerID;    //鏁版嵁鎵�鍦ㄦ湇鍔″櫒ID
+
+    public CA619_tagCSViewTagFamily () {
+        combineCmd = (ushort)0x03FE;
+        _cmd = (ushort)0xA619;
+    }
+
+    public override void WriteToBytes () {
+        WriteBytes (FamilyID, NetDataType.DWORD);
+        WriteBytes (DataServerID, NetDataType.DWORD);
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA619_tagCSViewTagFamily.cs.meta b/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA619_tagCSViewTagFamily.cs.meta
new file mode 100644
index 0000000..a1cabda
--- /dev/null
+++ b/Main/Core/NetworkPackage/ClientPack/CA6_Family/CA619_tagCSViewTagFamily.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 2bf49c967e6a89b4c93efd500fbd7583
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA519_tagSCTagFamilyInfo.cs b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA519_tagSCTagFamilyInfo.cs
new file mode 100644
index 0000000..bf4e3d7
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA519_tagSCTagFamilyInfo.cs
@@ -0,0 +1,12 @@
+using UnityEngine;
+using System.Collections;
+
+// A5 19 鏌ョ湅鐩爣鍏細淇℃伅 #tagSCTagFamilyInfo
+
+public class DTCA519_tagSCTagFamilyInfo : DtcBasic {
+    public override void Done(GameNetPackBasic vNetPack) {
+        base.Done(vNetPack);
+        HA519_tagSCTagFamilyInfo vNetData = vNetPack as HA519_tagSCTagFamilyInfo;
+        GuildManager.Instance.UpdateViewFamilyInfo(vNetData);
+    }
+}
diff --git a/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA519_tagSCTagFamilyInfo.cs.meta b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA519_tagSCTagFamilyInfo.cs.meta
new file mode 100644
index 0000000..262def0
--- /dev/null
+++ b/Main/Core/NetworkPackage/DTCFile/ServerPack/HA5_Family/DTCA519_tagSCTagFamilyInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e31d54337b63cd94cb7faac99d8f1eaf
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
index 61060a4..5461f8e 100644
--- a/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
+++ b/Main/Core/NetworkPackage/DataToCtl/PackageRegedit.cs
@@ -149,6 +149,7 @@
         Register(typeof(HB162_tagSCFuncPresetSwitchInfo), typeof(DTCB162_tagSCFuncPresetSwitchInfo));
         Register(typeof(HB163_tagSCBatPresetSwitchInfo), typeof(DTCB163_tagSCBatPresetSwitchInfo));
         Register(typeof(HA001_tagBroadCastInfo), typeof(DTCA001_tagBroadCastInfo));
+        Register(typeof(HA519_tagSCTagFamilyInfo), typeof(DTCA519_tagSCTagFamilyInfo));
     }
 
     //涓诲伐绋嬫敞鍐屽皝鍖�
diff --git a/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA519_tagSCTagFamilyInfo.cs b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA519_tagSCTagFamilyInfo.cs
new file mode 100644
index 0000000..6ff152f
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA519_tagSCTagFamilyInfo.cs
@@ -0,0 +1,49 @@
+using UnityEngine;
+using System.Collections;
+
+// A5 19 鏌ョ湅鐩爣鍏細淇℃伅 #tagSCTagFamilyInfo
+
+public class HA519_tagSCTagFamilyInfo : GameNetPackBasic {
+    public uint FamilyID;    //瀹舵棌ID
+    public byte FamilyNameLen;
+    public string FamilyName;    //size = FamilyNameLen
+    public uint LeaderID;    //鏃忛暱ID
+    public byte LeaderNameLen;
+    public string LeaderName;    //size = LeaderNameLen
+    public uint LeaderServerID;    //浼氶暱鍖烘湇ID
+    public byte FamilyLV;    //瀹舵棌绛夌骇
+    public uint ServerID;    //鍖烘湇ID
+    public uint EmblemID;    //寰界珷ID
+    public string EmblemWord;    //寰界珷鏂囧瓧
+    public uint FightPower;    //鎬绘垬鍔涳紝姹備綑浜块儴鍒�
+    public uint FightPowerEx;    //鎬绘垬鍔涳紝鏁撮櫎浜块儴鍒�
+    public ushort BroadcastLen;    //鍏憡
+    public string Broadcast;    //size = BroadcastLen
+    public byte MemberCount;    //鎴愬憳浜烘暟
+    public uint DataServerID;    //鏁版嵁鎵�鍦ㄦ湇鍔″櫒ID
+
+    public HA519_tagSCTagFamilyInfo () {
+        _cmd = (ushort)0xA519;
+    }
+
+    public override void ReadFromBytes (byte[] vBytes) {
+        TransBytes (out FamilyID, vBytes, NetDataType.DWORD);
+        TransBytes (out FamilyNameLen, vBytes, NetDataType.BYTE);
+        TransBytes (out FamilyName, vBytes, NetDataType.Chars, FamilyNameLen);
+        TransBytes (out LeaderID, vBytes, NetDataType.DWORD);
+        TransBytes (out LeaderNameLen, vBytes, NetDataType.BYTE);
+        TransBytes (out LeaderName, vBytes, NetDataType.Chars, LeaderNameLen);
+        TransBytes (out LeaderServerID, vBytes, NetDataType.DWORD);
+        TransBytes (out FamilyLV, vBytes, NetDataType.BYTE);
+        TransBytes (out ServerID, vBytes, NetDataType.DWORD);
+        TransBytes (out EmblemID, vBytes, NetDataType.DWORD);
+        TransBytes (out EmblemWord, vBytes, NetDataType.Chars, 3);
+        TransBytes (out FightPower, vBytes, NetDataType.DWORD);
+        TransBytes (out FightPowerEx, vBytes, NetDataType.DWORD);
+        TransBytes (out BroadcastLen, vBytes, NetDataType.WORD);
+        TransBytes (out Broadcast, vBytes, NetDataType.Chars, BroadcastLen);
+        TransBytes (out MemberCount, vBytes, NetDataType.BYTE);
+        TransBytes (out DataServerID, vBytes, NetDataType.DWORD);
+    }
+
+}
diff --git a/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA519_tagSCTagFamilyInfo.cs.meta b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA519_tagSCTagFamilyInfo.cs.meta
new file mode 100644
index 0000000..686e993
--- /dev/null
+++ b/Main/Core/NetworkPackage/ServerPack/HA5_Family/HA519_tagSCTagFamilyInfo.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 487779c3213b8a94e861c50bc592c1dd
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs
index bebac50..b3f4928 100644
--- a/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs
+++ b/Main/Core/NetworkPackage/ServerPack/HA7_Interaction/HA705_tagSCQueryPlayerCacheResult.cs
@@ -1,6 +1,6 @@
-using UnityEngine;
-using System.Collections;
-
+using UnityEngine;
+using System.Collections;
+
 //A7 05 鏌ヨ鐜╁璇︾粏淇℃伅缁撴灉#tagSCQueryPlayerCacheResult
 
 public class HA705_tagSCQueryPlayerCacheResult : GameNetPackBasic {
@@ -21,6 +21,7 @@
     public string FamilyName;
     public uint FamilyEmblemID;    //浠欑洘寰界珷ID
     public string FamilyEmblemWord;    //寰界珷鏂囧瓧
+    public uint FamilyDataServerID;    //鍏細鏁版嵁鎵�鍦ㄦ湇鍔″櫒ID锛孉619鏌ョ湅鍏細鐢�
     public uint PlusDataSize;
     public string PlusData;    //鎵╁睍璁板綍	
 
@@ -46,8 +47,9 @@
         TransBytes (out FamilyName, vBytes, NetDataType.Chars, 33);
         TransBytes (out FamilyEmblemID, vBytes, NetDataType.DWORD);
         TransBytes (out FamilyEmblemWord, vBytes, NetDataType.Chars, 3);
+        TransBytes (out FamilyDataServerID, vBytes, NetDataType.DWORD);
         TransBytes (out PlusDataSize, vBytes, NetDataType.DWORD);
         TransBytes (out PlusData, vBytes, NetDataType.Chars, PlusDataSize);
     }
 
-}
+}
\ No newline at end of file
diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index 5d3e69e..ea157ed 100644
--- a/Main/System/Guild/GuildManager.cs
+++ b/Main/System/Guild/GuildManager.cs
@@ -644,22 +644,6 @@
         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;
@@ -680,6 +664,43 @@
 
     #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 鐢宠鍒楄〃
     public event Action OnRefreshApplyList;
     private List<FairyApply> applyList = new List<FairyApply>();
diff --git a/Main/System/Guild/GuildPreviewWin.cs b/Main/System/Guild/GuildPreviewWin.cs
index c5a5ab1..bb219c9 100644
--- a/Main/System/Guild/GuildPreviewWin.cs
+++ b/Main/System/Guild/GuildPreviewWin.cs
@@ -68,7 +68,18 @@
 
     void Display()
     {
-        var guildInfo = GuildManager.Instance.guildsDict[guildID];
+        FairyData guildInfo = null;
+        if (GuildManager.Instance.guildsDict.ContainsKey(guildID))
+        {
+            guildInfo = GuildManager.Instance.guildsDict[guildID];
+        }
+        else
+        {
+            if (GuildManager.Instance.viewGuildsDict.ContainsKey(guildID))
+            {
+                guildInfo = GuildManager.Instance.viewGuildsDict[guildID];
+            }
+        }
         if (guildInfo == null) return;
         leaderID = guildInfo.LeaderID;
         leaderServerID = guildInfo.ServerID;
diff --git a/Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs b/Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs
index e7f79fa..7223cd5 100644
--- a/Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs
+++ b/Main/System/OtherPlayerDetail/OtherPlayerDetailManager.cs
@@ -111,6 +111,7 @@
         viewPlayerData.FamilyID = (int)package.FamilyID;
         viewPlayerData.FamilyName = UIHelper.ServerStringTrim(package.FamilyName);
         viewPlayerData.FamilyEmblemID = (int)package.FamilyEmblemID;
+        viewPlayerData.FamilyDataServerID = (int)package.FamilyDataServerID;
         viewPlayerData.FamilyEmblemWord = UIHelper.ServerStringTrim(package.FamilyEmblemWord);
 
 
@@ -133,10 +134,11 @@
     {
         if (viewPlayerType == (int)ViewPlayerType.viewPlayerData)
         {
-            if (!UIManager.Instance.IsOpened<OtherPlayerDetailWin>())
+            if (UIManager.Instance.IsOpened<OtherPlayerDetailWin>())
             {
-                UIManager.Instance.OpenWindow<OtherPlayerDetailWin>(viewPreSetType);
+                UIManager.Instance.CloseWindow<OtherPlayerDetailWin>();
             }
+            UIManager.Instance.OpenWindow<OtherPlayerDetailWin>(viewPreSetType);
         }
 
         OnRevPackage?.Invoke(viewPlayerType, playerID);
@@ -403,6 +405,7 @@
         public int ServerID;
         public long FightPower;
         public int FamilyID;
+        public int FamilyDataServerID;  //鍏細鏁版嵁鎵�鍦ㄦ湇鍔″櫒ID锛孉619鏌ョ湅鍏細鐢�
         public string FamilyName;
         public int FamilyEmblemID;
         public string FamilyEmblemWord;
diff --git a/Main/System/OtherPlayerDetail/OtherPlayerDetailWin.cs b/Main/System/OtherPlayerDetail/OtherPlayerDetailWin.cs
index 86fc9e7..5334d56 100644
--- a/Main/System/OtherPlayerDetail/OtherPlayerDetailWin.cs
+++ b/Main/System/OtherPlayerDetail/OtherPlayerDetailWin.cs
@@ -50,24 +50,24 @@
 
     protected override void OnPreOpen()
     {
-        GuildManager.Instance.OnRefreshFairyList += OnRefreshFairyList;
+        GuildManager.Instance.OnUpdateViewFamilyInfo += OnUpdateViewFamilyInfo;
         funcPresetID = OtherPlayerDetailManager.Instance.GetFuncPresetID(manager.viewPlayer, functionOrder, (int)FuncPresetType.Global);
         Display();
     }
 
     protected override void OnPreClose()
     {
-        GuildManager.Instance.OnRefreshFairyList -= OnRefreshFairyList;
+        GuildManager.Instance.OnUpdateViewFamilyInfo -= OnUpdateViewFamilyInfo;
     }
 
-    private void OnRefreshFairyList()
+    private void OnUpdateViewFamilyInfo()
     {
         if (viewPlayerData == null)
         {
             return;
         }
 
-        if (!GuildManager.Instance.guildsDict.ContainsKey(viewPlayerData.FamilyID))
+        if (!GuildManager.Instance.viewGuildsDict.ContainsKey(viewPlayerData.FamilyID))
         {
             return;
         }
@@ -268,7 +268,7 @@
             SysNotifyMgr.Instance.ShowTip("GuildTip01");
             return;
         }
-        GuildManager.Instance.SendFindGuildNoDecrypt(viewPlayerData.FamilyID.ToString());
+        GuildManager.Instance.SendViewGuild(viewPlayerData.FamilyID, viewPlayerData.FamilyDataServerID);
     }
 
     private void OnClickMM()

--
Gitblit v1.8.0