From 63f4f6c6ebab4ce0b86cb05e949abe749cf564bf Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期六, 11 十月 2025 18:19:41 +0800
Subject: [PATCH] 136 子 【挑战】战锤秘境 / 【挑战】战锤秘境-客户端 修改红点规则
---
Main/System/BoneField/BoneFieldManager.cs | 46 +++++++++++++++++++++++++++++++---------------
1 files changed, 31 insertions(+), 15 deletions(-)
diff --git a/Main/System/BoneField/BoneFieldManager.cs b/Main/System/BoneField/BoneFieldManager.cs
index 40ef7dc..7648ffd 100644
--- a/Main/System/BoneField/BoneFieldManager.cs
+++ b/Main/System/BoneField/BoneFieldManager.cs
@@ -13,6 +13,7 @@
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += OnBeforePlayerDataInitializeEvent;
DungeonManager.Instance.UpdateFBInfoChangeEvent += OnUpdateFBInfoChangeEvent;
AdsManager.Instance.OnAdsInfoListUpdateEvent += OnAdsInfoListUpdateEvent;
+ FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
TimeMgr.Instance.OnDayEvent += OnDayEvent;
}
@@ -21,16 +22,28 @@
DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= OnBeforePlayerDataInitializeEvent;
DungeonManager.Instance.UpdateFBInfoChangeEvent -= OnUpdateFBInfoChangeEvent;
AdsManager.Instance.OnAdsInfoListUpdateEvent -= OnAdsInfoListUpdateEvent;
+ FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
TimeMgr.Instance.OnDayEvent -= OnDayEvent;
}
+
+ private void OnFuncStateChangeEvent(int obj)
+ {
+ if (obj != funcId)
+ return;
+ UpdateRedPoint();
+ }
+
private void OnDayEvent()
{
UpdateRedPoint();
}
+
private void OnUpdateFBInfoChangeEvent(int mapID, bool isADAddCntChange, bool isBuyAddCntChange, bool isItemAddCntChange)
{
int dataMapID = DataMapID;
if (mapID != dataMapID)
+ return;
+ if (isADAddCntChange)
return;
UpdateRedPoint();
}
@@ -50,28 +63,31 @@
public void UpdateRedPoint()
{
parentRedpoint.state = RedPointState.None;
- // 鏈夋壂鑽℃鏁�:鍏嶈垂+閲戝竵
- if (TryGetShowSweepCount(out int showSweepMaxCount, out int showrealRemainSweepCount))
+ if (!FuncOpen.Instance.IsFuncOpen(funcId))
+ return;
+ if (!DungeonManager.Instance.TryGetFBInfoByMapID(DataMapID, out var fbInfo))
+ return;
+ bool isHasNextLineID = IsHasNextLineID(fbInfo);
+ int nowPassLineID = GetNowPassLineID(fbInfo);
+ DungeonConfig.TryGetDungeonID(DataMapID, nowPassLineID, out int dungeonID);
+ if (!DungeonConfig.HasKey(dungeonID))
+ return;
+ DungeonConfig dungeonConfig = DungeonConfig.Get(dungeonID);
+ bool isLvOk = PlayerDatas.Instance.baseData.LV >= dungeonConfig.LVLimitMin;
+ long myFightPower = PlayerDatas.Instance.baseData.FightPower;
+ if (myFightPower >= dungeonConfig.FightPower)
{
- bool isSweepCountOk = showrealRemainSweepCount > 0;
- if (isSweepCountOk)
+ if (isLvOk && isHasNextLineID)
{
parentRedpoint.state = RedPointState.Simple;
}
}
- //鍙寫鎴� 鎴樺姏灏忎簬boss
- if (DungeonManager.Instance.TryGetFBInfoByMapID(DataMapID, out var fbInfo))
+ else
{
- bool isHasNextLineID = IsHasNextLineID(fbInfo);
- int nowPassLineID = GetNowPassLineID(fbInfo);
-
- DungeonConfig.TryGetDungeonID(DataMapID, nowPassLineID, out int dungeonID);
- if (DungeonConfig.HasKey(dungeonID))
+ if (TryGetShowSweepCount(out int showSweepMaxCount, out int showrealRemainSweepCount))
{
- DungeonConfig dungeonConfig = DungeonConfig.Get(dungeonID);
- bool isLvOk = PlayerDatas.Instance.baseData.LV >= dungeonConfig.LVLimitMin;
- long myFightPower = PlayerDatas.Instance.baseData.FightPower;
- if (isLvOk && isHasNextLineID && myFightPower > dungeonConfig.FightPower)
+ bool isSweepCountOk = showrealRemainSweepCount > 0;
+ if (isSweepCountOk)
{
parentRedpoint.state = RedPointState.Simple;
}
--
Gitblit v1.8.0