From 9f5db2e92b93dcbe7c5d53606d62c8f04aef3c19 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期三, 18 三月 2026 23:20:18 +0800
Subject: [PATCH] 533 开服冲榜-客户端 开服冲榜的将星云集、百炼成军、红袖添香、命定乾坤和限时冲刺的武将冲刺、古宝冲刺、元宝冲刺添加特权标识
---
Main/System/OSActivity/OSActivityManager.cs | 151 +++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 142 insertions(+), 9 deletions(-)
diff --git a/Main/System/OSActivity/OSActivityManager.cs b/Main/System/OSActivity/OSActivityManager.cs
index f435452..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);
@@ -65,11 +79,50 @@
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();
}
// 寮�鏈嶆帓琛屾椿鍔ㄦ槸鍚﹀紑鍚�
- public bool IsOpened(int rankType)
+ public bool IsOpened(int rankType, bool needLastDay = true)
{
if (!rankTypeToFuncID.ContainsKey(rankType))
{
@@ -88,9 +141,19 @@
}
var openDays = rankOpenDays[rankType];
- if (TimeUtility.OpenDay > openDays[1])
+ if (needLastDay)
{
- return false;
+ if (TimeUtility.OpenDay > openDays[1])
+ {
+ return false;
+ }
+ }
+ else
+ {
+ if (TimeUtility.OpenDay >= openDays[1])
+ {
+ return false;
+ }
}
return true;
@@ -149,6 +212,9 @@
public void RefreshGiftSortList()
{
osHeroCallGiftSortList.Sort(CmpGift);
+ osBeautyMMGiftSortList.Sort(CmpGift);
+ osHeroTrainGiftSortList.Sort(CmpGift);
+ osMinggeGiftSortList.Sort(CmpGift);
}
void RefreshStore()
@@ -159,16 +225,27 @@
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;
- if (StoreModel.Instance.freeShopDict.ContainsKey((int)StoreFunc.OSHeroCall))
+ if (StoreModel.Instance.freeShopDict.ContainsKey((int)StoreFunc.OSHeroCall) && IsOpened(4, false))
{
var shopList = StoreModel.Instance.freeShopDict[(int)StoreFunc.OSHeroCall];
@@ -184,7 +261,7 @@
}
}
- if (StoreModel.Instance.freeShopDict.ContainsKey((int)StoreFunc.OSGalaGift))
+ if (StoreModel.Instance.freeShopDict.ContainsKey((int)StoreFunc.OSGalaGift) && IsOpenedOSGala(false))
{
var shopList = StoreModel.Instance.freeShopDict[(int)StoreFunc.OSGalaGift];
@@ -199,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)
@@ -207,6 +330,9 @@
{
case FuncOpenEnum.OSMainLevl:
case FuncOpenEnum.OSHeroCall:
+ case FuncOpenEnum.OSHeroTrain:
+ case FuncOpenEnum.OSBeautyMM:
+ case FuncOpenEnum.OSMingge:
UpdateRedpoint();
break;
}
@@ -225,7 +351,7 @@
public event Action OnOSGalaDataChangeEvent;
// 鍏戞崲鍟嗗簵
- // Redpoint osGalaRedpoint2 = new Redpoint(MainRedDot.RedPoint_OSGala, MainRedDot.RedPoint_OSGala * 10 + 2);
+ Redpoint osGalaRedpoint2 = new Redpoint(MainRedDot.RedPoint_OSGala, MainRedDot.RedPoint_OSGala * 10 + 2);
// 绀煎寘鍏嶈垂
Redpoint osGalaRedpoint3 = new Redpoint(MainRedDot.RedPoint_OSGala, MainRedDot.RedPoint_OSGala * 10 + 3);
// 鎬诲鍔�
@@ -240,14 +366,21 @@
UpdateGalaRedpoint();
}
- public bool IsOpenedOSGala()
+ public bool IsOpenedOSGala(bool needLastDay = true)
{
if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.OSGala))
{
return false;
}
- //缁撴潫鍚庡欢杩熶竴澶╁叧闂睍绀�
- return TimeUtility.OpenDay <= osGalaOpenDays;
+ if (needLastDay)
+ {
+ //缁撴潫鍚庡欢杩熶竴澶╁叧闂睍绀�
+ return TimeUtility.OpenDay <= osGalaOpenDays;
+ }
+ else
+ {
+ return TimeUtility.OpenDay < osGalaOpenDays;
+ }
}
// 鏄惁宸查鍙栧鍔�
--
Gitblit v1.8.0