From 1f7e2377002c93524fad578ec4a26f2ca1ed8fef Mon Sep 17 00:00:00 2001
From: yyl <yyl>
Date: 星期一, 02 二月 2026 14:38:56 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.1.20:10010/r/Project_SG_scripts

---
 Main/System/Guild/GuildManager.cs |   61 ++++++++++++++++++++++++++++++
 1 files changed, 60 insertions(+), 1 deletions(-)

diff --git a/Main/System/Guild/GuildManager.cs b/Main/System/Guild/GuildManager.cs
index c3141b7..86c096c 100644
--- a/Main/System/Guild/GuildManager.cs
+++ b/Main/System/Guild/GuildManager.cs
@@ -222,6 +222,12 @@
 
         config = FuncConfigConfig.Get("FamilyNote");
         familyRecordMaxCount = int.Parse(config.Numerical1);
+
+
+        config = FuncConfigConfig.Get("FamilyBillboardSet");
+        rankShowMaxCnt = int.Parse(config.Numerical1);
+        pageCnt = int.Parse(config.Numerical2);
+        queryPointNum = int.Parse(config.Numerical3);
     }
 
 
@@ -529,6 +535,60 @@
     public List<int> pageIndexList = new List<int>();  //姝e父鏄寜椤垫煡璇紝椤哄簭娣诲姞鍗冲彲
     public int curPageIndex;
     public int totalPageCount;
+
+    public int lastPage = -1;
+    public int pageCnt; //姣忛〉鏌ヨ鏉℃暟
+    int queryPointNum;  //鏌ヨ鐐�
+    public int rankShowMaxCnt;
+
+    public FairyData GetFairyDataByRank(int rank)
+    {
+        if (rank < 1)
+            return null;
+        int index = rank - 1;
+        FairyData fairyData = GetFairyDataByIndex(index);
+        return fairyData;
+    }
+
+    public FairyData GetFairyDataByIndex(int index)
+    {
+        if (pageIndexList.IsNullOrEmpty() || index < 0 || index >= pageIndexList.Count)
+            return null;
+        int fairyID = pageIndexList[index];
+        FairyData fairyData = GetFairyData(fairyID);
+        return fairyData;
+    }
+
+    public FairyData GetFairyData(int fairyID)
+    {
+        return guildsDict.TryGetValue(fairyID, out var data) ? data : null;
+    }
+
+    public void ResetQueryParam()
+    {
+        pageCnt = 20;
+        lastPage = -1;
+        queryPointNum = 12;
+    }
+
+    public void ListenRankPage(int index)
+    {
+        int page = index / pageCnt;
+        if (index > page * pageCnt + queryPointNum)
+        {
+            if (lastPage >= page)
+                return;
+            lastPage = page;
+
+            if (index >= rankShowMaxCnt)
+            {
+                //瓒呰繃鏈嶅姟鍣ㄥ凡涓婃鐨勬�绘暟閲忥紝姣斿鎬绘鍗曟槸100鍚嶏紝褰撳墠鍙湁8鍚嶇帺瀹朵笂姒滐紝寰�涓嬫粴鍔ㄥ氨涓嶅啀鏌ヨ
+                return;
+            }
+            //Debug.LogFormat("鍒嗛〉鏌ヨ锛氳姹傜 {0} 椤� (褰撳墠index:{1})", page + 1, index);
+            SendFindGuild(string.Empty, page + 1, pageCnt);
+        }
+    }
 
     //鏌ユ壘鍏細鍒楄〃
     public void OnRefreshGuildViewList(HA523_tagMCFamilyViewList vNetData)
@@ -971,7 +1031,6 @@
     }
 
     #endregion
-
 
     #region 绾㈢偣
 

--
Gitblit v1.8.0