From 60e4cc6cee9ebe586027a17c259609bb5b65b425 Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期三, 03 十二月 2025 22:45:29 +0800
Subject: [PATCH] 0312 公会行为记录整理
---
Main/System/Guild/GuildEmblemModel.cs | 49 ++++++++++++++++++++++++++++++++-----------------
1 files changed, 32 insertions(+), 17 deletions(-)
diff --git a/Main/System/Guild/GuildEmblemModel.cs b/Main/System/Guild/GuildEmblemModel.cs
index 1f830a1..764c811 100644
--- a/Main/System/Guild/GuildEmblemModel.cs
+++ b/Main/System/Guild/GuildEmblemModel.cs
@@ -14,6 +14,7 @@
public class GuildEmblemModel : GameSystemManager<GuildEmblemModel>
{
+ public Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction> emblemActions = new Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction>();
private int m_NowChooseEmblemId;
@@ -51,15 +52,15 @@
public override void Init()
{
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
- GuildManager.Instance.FamilyActionInfoEvent += OnFamilyActionInfoEvent;
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitialize;
+ GuildManager.Instance.EnterOrQuitGuildEvent += OnEnterOrQuitGuildEvent;
}
public override void Release()
{
PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
- GuildManager.Instance.FamilyActionInfoEvent -= OnFamilyActionInfoEvent;
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitialize;
+ GuildManager.Instance.EnterOrQuitGuildEvent -= OnEnterOrQuitGuildEvent;
}
public void OnBeforePlayerDataInitialize()
@@ -69,6 +70,12 @@
createEmblemWord = "";
oldShowActiveList.Clear();
showList.Clear();
+ emblemActions.Clear();
+ }
+
+ public void OnEnterOrQuitGuildEvent(bool isEnter)
+ {
+ OnBeforePlayerDataInitialize();
}
private void OnRefreshFairyInfo()
@@ -236,11 +243,6 @@
}
- void OnFamilyActionInfoEvent(int familyId, int actionType)
- {
- UpdateRedPoint();
- }
-
public bool IsLimitTime(int emblemId, out HA513_tagMCFamilyActionInfo.tagMCFamilyAction familyAction)
{
familyAction = new HA513_tagMCFamilyActionInfo.tagMCFamilyAction();
@@ -269,20 +271,33 @@
return PlayerDatas.Instance.fairyData.mine.FmLV == 3;
}
+
+
+ // 鏇存柊寰界珷淇℃伅
+ public bool UpdateEmblemAction(HA513_tagMCFamilyActionInfo _package)
+ {
+ if (_package.ActionType != GuildManager.FamilyActionsType)
+ {
+ return false;
+ }
+
+ for (int i = 0; i < _package.FamilyActionList.Length; i++)
+ {
+ int emblemId = (int)_package.FamilyActionList[i].Value1;
+ emblemActions[emblemId] = _package.FamilyActionList[i];
+ }
+
+
+ UpdateRedPoint();
+ return true;
+ }
+
// 鑾峰緱寰界珷璁板綍淇℃伅淇℃伅锛堟椿鍔ㄩ�斿緞鑾峰彇鐨勫窘绔�,瀹氬埗寰界珷锛夛紝value1鏄窘绔營D锛寁alue2鏄窘绔犲埌鏈熸椂闂�
private bool TryGetfamilyAction(int emblemId, out HA513_tagMCFamilyActionInfo.tagMCFamilyAction familyAction)
{
- familyAction = new HA513_tagMCFamilyActionInfo.tagMCFamilyAction();
- if (GuildManager.Instance.TryGetFamilyActions(GuildManager.FamilyActionsType, out var actions))
+ if (emblemActions.TryGetValue(emblemId, out familyAction))
{
- for (int i = 0; i < actions.Length; i++)
- {
- if (actions[i].Value1 == emblemId)
- {
- familyAction = actions[i];
- return true;
- }
- }
+ return true;
}
return false;
--
Gitblit v1.8.0