hch
2025-12-03 60e4cc6cee9ebe586027a17c259609bb5b65b425
0312 公会行为记录整理
7个文件已修改
146 ■■■■■ 已修改文件
Main/System/Guild/GuildBaseWin.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildBossManager.cs 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildBossWin.cs 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildChangeNameWin.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildEmblemModel.cs 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildManager.cs 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildOPWin.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Guild/GuildBaseWin.cs
@@ -70,6 +70,7 @@
        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
        GlobalTimeEvent.Instance.fiveSecondEvent += OnFiveSecondEvent;
        ChatManager.Instance.OnUpdateTalkEvent += OnUpdateTalkEvent;
        PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
        Display();
    }
@@ -78,6 +79,12 @@
        GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
        GlobalTimeEvent.Instance.fiveSecondEvent -= OnFiveSecondEvent;
        ChatManager.Instance.OnUpdateTalkEvent -= OnUpdateTalkEvent;
        PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
    }
    void OnRefreshFairyInfo()
    {
        ShowGuildInfo();
    }
    private void OnUpdateTalkEvent(ChatChannel channel, TalkData data)
Main/System/Guild/GuildBossManager.cs
@@ -77,43 +77,20 @@
    // "info":{"LV":106,"Job":1,"Name":"主公3016219","FacePic":0,"FightPower":1831995,"RealmLV":12,"ServerID":86,"TitleID":0,"Face":0},
    public HA513_tagMCFamilyActionInfo.tagMCFamilyAction GetGuildBossAction()
    {
        GuildManager.Instance.TryGetFamilyActions(GuildManager.GuildBossActionType, out var familyActions);
        if (familyActions == null)
        {
            return null;
        }
        foreach (var action in familyActions)
        {
            if (action.Value1 == 1)
            {
                return action;
            }
        }
        return null;
    }
    int lastGuildBossTime;
    // 获取公会中的伤害记录做排名
    public void UpdateGuildBossInfo(HA513_tagMCFamilyActionInfo vNetData)
    public bool UpdateGuildBossInfo(HA513_tagMCFamilyActionInfo vNetData)
    {
        if (vNetData.ActionType != GuildManager.GuildBossActionType)
        {
            return;
            return false;
        }
        GuildManager.Instance.TryGetFamilyActions(GuildManager.GuildBossActionType, out var familyActions);
        if (familyActions == null)
        {
            return;
        }
        foreach (var action in familyActions)
        {
            if (action.Value1 == 1)
            {
                return;
            }
        }
        return true;
    }
}
Main/System/Guild/GuildBossWin.cs
@@ -69,7 +69,7 @@
    {
        GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
        PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefresh;
        GuildManager.Instance.FamilyActionInfoEvent += OnFamilyActionInfoEvent;
        // GuildManager.Instance.FamilyActionInfoEvent += OnFamilyActionInfoEvent;
        Display();
    }
@@ -77,7 +77,7 @@
    {
        GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
        PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh;
        GuildManager.Instance.FamilyActionInfoEvent -= OnFamilyActionInfoEvent;
        // GuildManager.Instance.FamilyActionInfoEvent -= OnFamilyActionInfoEvent;
    }
Main/System/Guild/GuildChangeNameWin.cs
@@ -1,5 +1,6 @@
using System.Collections;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
using UnityEngine.UI;
@@ -83,8 +84,8 @@
            UIManager.Instance.CloseWindow<GuildOPWin>();
            var pack = new CA611_tagCMRenameFamily();
            pack.NewName = guildNameText.text;
            pack.NewNameLen = (byte)pack.NewName.Length;
            // GameNetSystem.Instance.SendInfo(pack);
            pack.NewNameLen = (byte)Encoding.Default.GetBytes(pack.NewName).Length;
            GameNetSystem.Instance.SendInfo(pack);
        }
    }
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是徽章ID,value2是徽章到期时间
    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;
Main/System/Guild/GuildManager.cs
@@ -12,6 +12,7 @@
{
    // 家族自定义记录类型
    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;  //讨伐
@@ -84,6 +85,11 @@
        guildChanged = false;
        applyList.Clear();
        PlayerDatas.Instance.fairyData.ClearData();
        isQueryZBGYet = false;
        zhenbaogeCutState = 0;
        familyZBGActions.Clear();
        sortPlayerCut.Clear();
    }
    
    //退出公会
@@ -95,10 +101,10 @@
        UIManager.Instance.GetUI<MainWin>()?.ClickFunc(0);
        isQueryZBGYet = false;
        zhenbaogeCutState = 0;
        familyZBGActions.Clear();
        sortPlayerCut.Clear();
        // isQueryZBGYet = false;
        // zhenbaogeCutState = 0;
        // familyZBGActions.Clear();
        // sortPlayerCut.Clear();
        
        UpdateZBGRedpoint();
        UpdateDonateRedPoint();
@@ -393,7 +399,6 @@
    #region 仙盟商店开启
    public int fairyStoreLimit = 0;
    public bool fairyStoreOpen
@@ -438,6 +443,31 @@
            return;
        }
        // 行商 砍价
        if (UpdateHawkerAction(_package))
        {
            return;
        }
        // 徽章
        if (GuildEmblemModel.Instance.UpdateEmblemAction(_package))
        {
            return;
        }
        // 公会讨伐
        if (GuildBossManager.Instance.UpdateGuildBossInfo(_package))
        {
            return;
        }
        //上面各个功能要return
        UpdataCommonAction(_package);
    }
    // 通用记录 只适用单条数据的记录情况 或有服务端保证列表全部信息直接覆盖,其他功能比较复杂各自负责存储
    void UpdataCommonAction(HA513_tagMCFamilyActionInfo _package)
    {
        if (!familyActions.ContainsKey((int)_package.FamilyID))
        {
            familyActions.Add((int)_package.FamilyID, new Dictionary<int, HA513_tagMCFamilyActionInfo.tagMCFamilyAction[]>());
@@ -445,11 +475,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;
@@ -801,11 +830,11 @@
    //更新砍价信息
    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)
@@ -843,6 +872,8 @@
        UpdateFamilyActionEvent?.Invoke(restart);
        UpdateZBGRedpoint();
        return true;
    }
    //砍价人数
Main/System/Guild/GuildOPWin.cs
@@ -77,6 +77,7 @@
    void OnRefreshFairyInfo()
    {
        Display();
    }