lcy
2026-02-02 d3609e1aa5f39fa529e0bcac0d9bb54ce81ed924
Main/System/Guild/GuildManager.cs
@@ -50,6 +50,7 @@
        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += OnPlayerLoginOk;
        PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent;
        TimeMgr.Instance.OnHourEvent += UpdateZBGRedpoint;
        PlayerDatas.Instance.fairyData.OnRefreshFairyInfo += OnRefreshFairyInfo;
    }
    public override void Release()
    {
@@ -58,8 +59,13 @@
        DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= OnPlayerLoginOk;
        PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent;
        TimeMgr.Instance.OnHourEvent -= UpdateZBGRedpoint;
        PlayerDatas.Instance.fairyData.OnRefreshFairyInfo -= OnRefreshFairyInfo;
    }
    private void OnRefreshFairyInfo()
    {
        UpdateRequestRedpoint();
    }
    void OnBeforePlayerDataInitialize()
    {
@@ -541,6 +547,19 @@
    int queryPointNum;  //查询点
    public int rankShowMaxCnt;
    public bool isPowerSort
    {
        get
        {
            return LocalSave.GetBool($"GuildApplyList_IsPowerSort_{PlayerDatas.Instance.PlayerId}");
        }
        set
        {
            LocalSave.SetBool($"GuildApplyList_IsPowerSort_{PlayerDatas.Instance.PlayerId}", value);
        }
    }
    public FairyData GetFairyDataByRank(int rank)
    {
        if (rank < 1)
@@ -667,7 +686,6 @@
        data.EmblemWord = view.EmblemWord;
        data.totalFightPower = view.FightPowerEx * Constants.ExpPointValue + view.FightPower;
        data.MemberCount = view.MemberCount;
    }
    #endregion
@@ -676,7 +694,7 @@
    public event Action OnRefreshApplyList;
    private List<FairyApply> applyList = new List<FairyApply>();
    private Redpoint memberRedpoint = new Redpoint(107, 10702);
    private Redpoint applyRedpoint = new Redpoint(10702, 1070201);
    private Redpoint applyRedpoint = new Redpoint(MainRedDot.MainGuildRedpoint, 1070201);
    //申请加入的玩家信息
    public void OnRefreshRequestJoinPlayerInfo(HA522_tagMCFamilyReqJoinInfo vNetData)
@@ -705,6 +723,9 @@
        }
        UpdateRequestRedpoint();
    }
    void UpdateRequestRedpoint()
    {
@@ -760,6 +781,12 @@
                    SysNotifyMgr.Instance.ShowTip("jiazu_lhs_202580");
                    return;
                }
                if (guildsDict[id].JoinLVMin > PlayerDatas.Instance.baseData.realmLevel && RealmConfig.HasKey(guildsDict[id].JoinLVMin))
                {
                    SysNotifyMgr.Instance.ShowTip("GuildApply01", RealmConfig.Get(guildsDict[id].JoinLVMin).Name);
                    return;
                }
            }
        }
@@ -787,8 +814,62 @@
        return 0;
    }
    public void SendJoinFamilyReply(int tagPlayerID, bool isOK)
    {
        CA621_tagCMJoinFamilyReply pack = new CA621_tagCMJoinFamilyReply();
        pack.TagPlayerID = (uint)tagPlayerID;
        pack.IsOK = (byte)(isOK ? 1 : 0);
        GameNetSystem.Instance.SendInfo(pack);
    }
    public void SendChangeFamilyJoin(int joinReview, int joinLVMin)
    {
        CA622_tagCMChangeFamilyJoin pack = new CA622_tagCMChangeFamilyJoin();
        pack.JoinReview = (byte)joinReview;
        pack.JoinLVMin = (ushort)joinLVMin;
        GameNetSystem.Instance.SendInfo(pack);
    }
    public void SendRequestJoinFamilyByPlayer(int tagPlayerID)
    {
        CA601_tagCMRequestJoinFamilyByPlayer pack = new CA601_tagCMRequestJoinFamilyByPlayer();
        pack.TagPlayerID = (uint)tagPlayerID;
        GameNetSystem.Instance.SendInfo(pack);
    }
    List<string> optionStrings = null;
    List<int> options = null;
    public bool TryGetApplyOptions(out List<int> optionKeys, out List<string> optionValues)
    {
        optionKeys = null;
        optionValues = null;
        if (options == null)
        {
            options = new List<int>();
            options = new List<int>(RealmConfig.GetKeys());
            options.Sort();
            options.Remove(0);
        }
        if (optionStrings == null)
        {
            optionStrings = new List<string>();
            foreach (int lv in options)
            {
                if (!RealmConfig.HasKey(lv))
                    continue;
                RealmConfig realmConfig = RealmConfig.Get(lv);
                optionStrings.Add(UIHelper.AppendColor(OfficialRankManager.Instance.GetOfficialRankColor(realmConfig.Quality), realmConfig.Name));
            }
        }
        if (options.IsNullOrEmpty() || optionStrings.IsNullOrEmpty() || options.Count != optionStrings.Count)
            return false;
        optionKeys = options;
        optionValues = optionStrings;
        return true;
    }
    #endregion
    float lastChangeMarkTime = 0;   //打开界面情况下避免短时间多次立即请求,C/S通信也是有时间间隔