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