From c70f5a26bebf874828342ef69987848cbc352719 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期二, 17 三月 2026 14:33:58 +0800
Subject: [PATCH] 533 开服冲榜-客户端 新增3个榜单

---
 Main/System/OSActivity/OSActivityManager.cs |  116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 115 insertions(+), 1 deletions(-)

diff --git a/Main/System/OSActivity/OSActivityManager.cs b/Main/System/OSActivity/OSActivityManager.cs
index ea5464a..c2ca0a3 100644
--- a/Main/System/OSActivity/OSActivityManager.cs
+++ b/Main/System/OSActivity/OSActivityManager.cs
@@ -10,14 +10,23 @@
     Dictionary<int, int[]> rankOpenDays = new Dictionary<int, int[]>();  //鎺掕姒滅被鍨嬶細銆愬紑濮嬪紑鏈嶅ぉ, 缁撴潫寮�鏈嶅ぉ銆�
     public Dictionary<int, int[][]> mainLevelRankAwards = new Dictionary<int, int[][]>();  //涓荤嚎鍏冲崱鍚嶆锛氬鍔�
     public Dictionary<int, int[][]> heroCallRankAwards = new Dictionary<int, int[][]>();  //姝﹀皢鎷涘嫙鍚嶆锛氬鍔�
+    public Dictionary<int, int[][]> beautyMMRankAwards = new Dictionary<int, int[][]>();  //绾㈤鍐叉鍚嶆锛氬鍔�
+    public Dictionary<int, int[][]> heroTrainRankAwards = new Dictionary<int, int[][]>();  //姝﹀皢鍐叉鍚嶆锛氬鍔�
+    public Dictionary<int, int[][]> minggeRankAwards = new Dictionary<int, int[][]>();  //鍛芥牸鍐叉锛氬鍔�
 
     public List<int> osHeroCallGiftSortList = new List<int>();    //寮�鏈嶆嫑鍕熺ぜ鍖� 鍏呭�糏D + 100000000
+    public List<int> osBeautyMMGiftSortList = new List<int>();    //绾㈤鍐叉绀煎寘 鍏呭�糏D + 100000000
+    public List<int> osHeroTrainGiftSortList = new List<int>();    //姝﹀皢鍐叉绀煎寘 鍏呭�糏D + 100000000
+    public List<int> osMinggeGiftSortList = new List<int>();    //鍛芥牸鍐叉绀煎寘 鍏呭�糏D + 100000000
 
     //寮�鏈嶆瀵瑰簲鐨勫姛鑳絀D
     Dictionary<int, int> rankTypeToFuncID = new Dictionary<int, int>()
     {
         {3, 45},
         {4, 46},
+        {7, 59},
+        {8, 60},
+        {9, 61},
     };
 
 
@@ -51,6 +60,11 @@
         rankOpenDays = ConfigParse.ParseIntArrayDict(config.Numerical1);
         mainLevelRankAwards = ConfigParse.ParseIntArray2Dict(config.Numerical2);
         heroCallRankAwards = ConfigParse.ParseIntArray2Dict(config.Numerical3);
+        beautyMMRankAwards = ConfigParse.ParseIntArray2Dict(config.Numerical4);
+
+        config = FuncConfigConfig.Get("OSABillboardTrain");
+        heroTrainRankAwards = ConfigParse.ParseIntArray2Dict(config.Numerical3);
+        minggeRankAwards = ConfigParse.ParseIntArray2Dict(config.Numerical5);
 
         var list = StoreModel.Instance.storeTypeDict[(int)StoreFunc.OSHeroCall];
         var _list = RechargeManager.Instance.GetCTGIDListByType(18);
@@ -63,6 +77,45 @@
         for (int i = 0; i < _list.Count; i++)
         {
             osHeroCallGiftSortList.Add(_list[i] + 100000000);
+        }
+
+        list = StoreModel.Instance.storeTypeDict[(int)StoreFunc.OSBeautyMM];
+        _list = RechargeManager.Instance.GetCTGIDListByType(22);
+
+        for (int i = 0; i < list.Count; i++)
+        {
+            var item = list[i];
+            osBeautyMMGiftSortList.Add(item.shopId);
+        }
+        for (int i = 0; i < _list.Count; i++)
+        {
+            osBeautyMMGiftSortList.Add(_list[i] + 100000000);
+        }
+
+        list = StoreModel.Instance.storeTypeDict[(int)StoreFunc.OSHeroTrain];
+        _list = RechargeManager.Instance.GetCTGIDListByType(23);
+
+        for (int i = 0; i < list.Count; i++)
+        {
+            var item = list[i];
+            osHeroTrainGiftSortList.Add(item.shopId);
+        }
+        for (int i = 0; i < _list.Count; i++)
+        {
+            osHeroTrainGiftSortList.Add(_list[i] + 100000000);
+        }
+
+        list = StoreModel.Instance.storeTypeDict[(int)StoreFunc.OSMingge];
+        _list = RechargeManager.Instance.GetCTGIDListByType(24);
+
+        for (int i = 0; i < list.Count; i++)
+        {
+            var item = list[i];
+            osMinggeGiftSortList.Add(item.shopId);
+        }
+        for (int i = 0; i < _list.Count; i++)
+        {
+            osMinggeGiftSortList.Add(_list[i] + 100000000);
         }
 
         ParseOSGalaConfig();
@@ -159,6 +212,9 @@
     public void RefreshGiftSortList()
     {
         osHeroCallGiftSortList.Sort(CmpGift);
+        osBeautyMMGiftSortList.Sort(CmpGift);
+        osHeroTrainGiftSortList.Sort(CmpGift);
+        osMinggeGiftSortList.Sort(CmpGift);
     }
 
     void RefreshStore()
@@ -169,14 +225,23 @@
 
     Redpoint osMainLevelRedpoint = new Redpoint(MainRedDot.RedPoint_OSMainLevel);
     Redpoint osHeroCallRedpoint = new Redpoint(MainRedDot.RedPoint_OSHeroCard);
+    Redpoint osHeroTrainRedpoint = new Redpoint(MainRedDot.RedPoint_OSHeroTrain);
+    Redpoint osBeautyMMRedpoint = new Redpoint(MainRedDot.RedPoint_OSBeautyMM);
+    Redpoint osMinggeRedpoint = new Redpoint(MainRedDot.RedPoint_OSMingge);
 
     public void UpdateRedpoint()
     {
         osMainLevelRedpoint.state = !DayRemind.Instance.GetDayRemind(DayRemind.OSMainLevel) ? RedPointState.Simple : RedPointState.None;
         osGalaRedpoint2.state = !DayRemind.Instance.GetDayRemind(DayRemind.OSGalaChange) ? RedPointState.Simple : RedPointState.None;
-        
+        osHeroTrainRedpoint.state = !DayRemind.Instance.GetDayRemind(DayRemind.OSMainLevel) ? RedPointState.Simple : RedPointState.None;
+        osBeautyMMRedpoint.state = !DayRemind.Instance.GetDayRemind(DayRemind.OSMainLevel) ? RedPointState.Simple : RedPointState.None;
+        osMinggeRedpoint.state = !DayRemind.Instance.GetDayRemind(DayRemind.OSMainLevel) ? RedPointState.Simple : RedPointState.None;
+
         osHeroCallRedpoint.state = RedPointState.None;
         osGalaRedpoint3.state = RedPointState.None;
+        osHeroTrainRedpoint.state = RedPointState.None;
+        osBeautyMMRedpoint.state = RedPointState.None;
+        osMinggeRedpoint.state = RedPointState.None;
 
         if (StoreModel.Instance.freeShopDict.Count == 0) return;
 
@@ -211,6 +276,52 @@
                 }
             }
         }
+
+        if (StoreModel.Instance.freeShopDict.ContainsKey((int)StoreFunc.OSHeroTrain) && IsOpened(7, false))
+        {
+            var shopList = StoreModel.Instance.freeShopDict[(int)StoreFunc.OSHeroTrain];
+            for (int i = 0; i < shopList.Count; i++)
+            {
+                var shopID = shopList[i];
+                var config = StoreConfig.Get(shopID);
+                if (StoreModel.Instance.GetShopLimitBuyCount(shopID) < config.LimitCnt)
+                {
+                    osHeroTrainRedpoint.state = RedPointState.Simple;
+                    break;
+                }
+            }
+        }
+
+        if (StoreModel.Instance.freeShopDict.ContainsKey((int)StoreFunc.OSBeautyMM) && IsOpened(8, false))
+        {
+            var shopList = StoreModel.Instance.freeShopDict[(int)StoreFunc.OSBeautyMM];
+            for (int i = 0; i < shopList.Count; i++)
+            {
+                var shopID = shopList[i];
+                var config = StoreConfig.Get(shopID);
+                if (StoreModel.Instance.GetShopLimitBuyCount(shopID) < config.LimitCnt)
+                {
+                    osBeautyMMRedpoint.state = RedPointState.Simple;
+                    break;
+                }
+            }
+        }
+
+
+        if (StoreModel.Instance.freeShopDict.ContainsKey((int)StoreFunc.OSMingge) && IsOpened(9, false))
+        {
+            var shopList = StoreModel.Instance.freeShopDict[(int)StoreFunc.OSMingge];
+            for (int i = 0; i < shopList.Count; i++)
+            {
+                var shopID = shopList[i];
+                var config = StoreConfig.Get(shopID);
+                if (StoreModel.Instance.GetShopLimitBuyCount(shopID) < config.LimitCnt)
+                {
+                    osMinggeRedpoint.state = RedPointState.Simple;
+                    break;
+                }
+            }
+        }
     }
 
     private void FuncStateChange(int funcId)
@@ -219,6 +330,9 @@
         {
             case FuncOpenEnum.OSMainLevl:
             case FuncOpenEnum.OSHeroCall:
+            case FuncOpenEnum.OSHeroTrain:
+            case FuncOpenEnum.OSBeautyMM:
+            case FuncOpenEnum.OSMingge:
                 UpdateRedpoint();
                 break;
         }

--
Gitblit v1.8.0