From d3609e1aa5f39fa529e0bcac0d9bb54ce81ed924 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期一, 02 二月 2026 20:17:55 +0800
Subject: [PATCH] 441 公会相关界面  公会申请界面

---
 Main/System/Guild/GuildManager.cs |   85 +++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 83 insertions(+), 2 deletions(-)

diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index 86c096c..8336836 100644
--- a/Main/System/Guild/GuildManager.cs
+++ b/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;   //鎵撳紑鐣岄潰鎯呭喌涓嬮伩鍏嶇煭鏃堕棿澶氭绔嬪嵆璇锋眰锛孋/S閫氫俊涔熸槸鏈夋椂闂撮棿闅�

--
Gitblit v1.8.0