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