| Main/System/BoneField/AdsManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/BoneField/BoneFieldChallengeButton.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/BoneField/BoneFieldManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/BoneField/BoneFieldWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/ChallengeTab/BoneFieldTabHandler.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Settlement/BoneBattleFailWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Settlement/BoneBattleVictoryWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Utility/EnumHelper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/System/BoneField/AdsManager.cs
@@ -10,6 +10,8 @@ { DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin += OnBeforePlayerDataInitializeEvent; DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent += UpdateRedpoint; DungeonManager.Instance.UpdateFBInfoListEvent += OnUpdateFBInfoChangeEvent; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; var keys = ADAwardConfig.GetKeys(); for (int i = 0; i < keys.Count; i++) @@ -27,11 +29,33 @@ { DTC0102_tagCDBPlayer.beforePlayerDataInitializeEventOnRelogin -= OnBeforePlayerDataInitializeEvent; DTC0403_tagPlayerLoginLoadOK.playerLoginOkEvent -= UpdateRedpoint; DungeonManager.Instance.UpdateFBInfoListEvent += OnUpdateFBInfoChangeEvent; FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; } private void OnFuncStateChangeEvent(int funcId) { switch (funcId) { case (int)FuncOpenEnum.BoneBattle: UpdateBoneAdRedPoint(); break; } } public void OnBeforePlayerDataInitializeEvent() { adsInfoDict.Clear(); } private void OnUpdateFBInfoChangeEvent(int mapID) { switch (mapID) { case 30010: UpdateBoneAdRedPoint(); break; } } void SendGetReward(int ADID) @@ -122,9 +146,33 @@ } if (GetADCntByADID(key) < config.ADCntMax) { switch (key) { //白骨 case 1: UpdateBoneAdRedPoint(); break; default: redPointDict[key].state = RedPointState.Simple; break; } } } } private void UpdateBoneAdRedPoint() { int key = 1; if (!ADAwardConfig.HasKey(key)) return; var config = ADAwardConfig.Get(key); if (!FuncOpen.Instance.IsFuncOpen(config.FuncID)) return; if (redPointDict.IsNullOrEmpty() || !redPointDict.ContainsKey(key)) return; bool isNoChallenge = BoneFieldManager.Instance.IsNoChallenge(); redPointDict[key].state = isNoChallenge ? RedPointState.None : RedPointState.Simple; } } Main/System/BoneField/BoneFieldChallengeButton.cs
@@ -21,8 +21,8 @@ this.isHasNextLineID = isHasNextLineID; this.lvLimitMin = lvLimitMin; isLvOk = PlayerDatas.Instance.baseData.LV >= lvLimitMin; long myFightPower = PlayerDatas.Instance.baseData.FightPower; imgChallengeRed.SetActive(isLvOk && isHasNextLineID && myFightPower >= bossFightPower); bool isShowRed = BoneFieldManager.Instance.IsShowChallengeRed(); imgChallengeRed.SetActive(isShowRed); txtChallengeLv.SetActive(!isLvOk); txtChallengeLv.text = Language.Get("BoneField07", lvLimitMin); txtChallengeYes.SetActive(isLvOk && isHasNextLineID); Main/System/BoneField/BoneFieldManager.cs
@@ -5,13 +5,13 @@ public readonly int DataMapID = 30010; // 白骨盈野(战锤秘境) public readonly int MinStartLineID = 1; // funcLineID从1开始 public readonly int funcId = 9; //功能ID public Redpoint parentRedpoint = new Redpoint(MainRedDot.MainChallengeRedpoint, MainRedDot.BoneFieldRepoint); public override void Init() { DungeonManager.Instance.UpdateFBInfoListEvent += OnUpdateFBInfoChangeEvent; AdsManager.Instance.OnAdsInfoListUpdateEvent += OnAdsInfoListUpdateEvent; FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent; PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefresh; TimeMgr.Instance.OnDayEvent += OnDayEvent; } @@ -20,12 +20,13 @@ DungeonManager.Instance.UpdateFBInfoListEvent -= OnUpdateFBInfoChangeEvent; AdsManager.Instance.OnAdsInfoListUpdateEvent -= OnAdsInfoListUpdateEvent; FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent; PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh; TimeMgr.Instance.OnDayEvent -= OnDayEvent; } private void OnFuncStateChangeEvent(int obj) { if (obj != funcId) if (obj != (int)FuncOpenEnum.BoneBattle) return; UpdateRedPoint(); } @@ -51,39 +52,75 @@ UpdateRedPoint(); } private void OnPlayerDataRefresh(PlayerDataType type) { if (type == PlayerDataType.FightPower) { UpdateRedPoint(); } else if (type == PlayerDataType.LV) { UpdateRedPoint(); } } public void UpdateRedPoint() { parentRedpoint.state = RedPointState.None; if (!FuncOpen.Instance.IsFuncOpen(funcId)) if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.BoneBattle)) return; bool isShowChallengeRed = IsShowChallengeRed(); if (isShowChallengeRed) { parentRedpoint.state = RedPointState.Simple; return; } bool isShowSweepRed = IsShowSweepRed(); if (isShowSweepRed) { parentRedpoint.state = RedPointState.Simple; return; } } public bool IsShowChallengeRed() { if (!DungeonManager.Instance.TryGetFBInfoByMapID(DataMapID, out var fbInfo)) return; return false; bool isHasNextLineID = IsHasNextLineID(fbInfo); int nowPassLineID = GetNowPassLineID(fbInfo); DungeonConfig.TryGetDungeonID(DataMapID, nowPassLineID, out int dungeonID); if (!DungeonConfig.HasKey(dungeonID)) return; return false; DungeonConfig dungeonConfig = DungeonConfig.Get(dungeonID); bool isLvOk = PlayerDatas.Instance.baseData.LV >= dungeonConfig.LVLimitMin; long myFightPower = PlayerDatas.Instance.baseData.FightPower; if (myFightPower >= dungeonConfig.FightPower) { if (isLvOk && isHasNextLineID) { parentRedpoint.state = RedPointState.Simple; return isLvOk && isHasNextLineID && myFightPower >= dungeonConfig.FightPower; } } else public bool IsShowSweepRed() { bool isNoChallenge = IsNoChallenge(); if (isNoChallenge) return false; if (TryGetShowSweepCount(out int showSweepMaxCount, out int showrealRemainSweepCount)) { bool isSweepCountOk = showrealRemainSweepCount > 0; if (isSweepCountOk) { parentRedpoint.state = RedPointState.Simple; return true; } } return false; } public bool IsNoChallenge() { if (!DungeonManager.Instance.TryGetFBInfoByMapID(DataMapID, out var fbInfo)) return true; return fbInfo.PassLineID <= 0; } public bool IsHasNextLineID(FBInfo fBInfo) Main/System/BoneField/BoneFieldWin.cs
@@ -165,8 +165,8 @@ DisplaySkillWordsList(lineupConfig); DisplayItemCellList(challengeItemCells1, dungeonConfig.PassAwardList); DisplayItemCellList(challengeItemCells2, dungeonConfig.PassAwardList); if (fbInfo.PassLineID > 0) bool isNoChallenge = BoneFieldManager.Instance.IsNoChallenge(); if (!isNoChallenge) { DungeonConfig.TryGetDungeonID(dataMapID, (int)fbInfo.PassLineID, out int sweepDungeonID); if (!DungeonConfig.HasKey(dungeonID)) @@ -189,8 +189,9 @@ public void DisplayChallengeButton(DungeonConfig dungeonConfig, FBInfo fBInfo) { transNoChallenge.SetActive(fBInfo.PassLineID <= 0); transHasChallenge.SetActive(fBInfo.PassLineID > 0); bool isNoChallenge = BoneFieldManager.Instance.IsNoChallenge(); transNoChallenge.SetActive(isNoChallenge); transHasChallenge.SetActive(!isNoChallenge); btnChallenge1.Display(dungeonConfig.LVLimitMin, isHasNextLineID, dungeonConfig.FightPower); btnChallenge2.Display(dungeonConfig.LVLimitMin, isHasNextLineID, dungeonConfig.FightPower); } @@ -204,8 +205,9 @@ bool isSweepCountOk = showrealRemainSweepCount > 0; btnSweep.interactable = isSweepCountOk; imgSweep.gray = !isSweepCountOk; long myFightPower = PlayerDatas.Instance.baseData.FightPower; imgSweepRed.SetActive(isSweepCountOk && myFightPower < dungeonConfig.FightPower); bool isShowChallengeRed = BoneFieldManager.Instance.IsShowChallengeRed(); bool isShowSweepRed = BoneFieldManager.Instance.IsShowSweepRed(); imgSweepRed.SetActive(!isShowChallengeRed && isShowSweepRed); txtTodaySweepCount.SetActive(showSweepMaxCount > showrealRemainSweepCount); txtTodaySweepCount.text = UIHelper.AppendColor(isSweepCountOk ? TextColType.LightGreen : TextColType.Red, Language.Get("BoneField08", showrealRemainSweepCount, showSweepMaxCount)); Main/System/ChallengeTab/BoneFieldTabHandler.cs
@@ -5,7 +5,7 @@ { protected override int GetIndex() => 2; protected override int GetOpenState() => 0; // 0=FuncID protected override int GetFuncId() => BoneFieldManager.Instance.funcId; protected override int GetFuncId() => (int)FuncOpenEnum.BoneBattle; protected override int GetRedpointId() => MainRedDot.BoneFieldRepoint; protected override string GetCountInfo() Main/System/Settlement/BoneBattleFailWin.cs
@@ -36,7 +36,7 @@ protected override void OnPreOpen() { int funcId = BoneFieldManager.Instance.funcId; int funcId = (int)FuncOpenEnum.BoneBattle; txtFuncName.text = FuncOpenLVConfig.HasKey(funcId) ? FuncOpenLVConfig.Get(funcId).Name : string.Empty; if (!FirstChargeManager.Instance.GetLocalFail()) { Main/System/Settlement/BoneBattleVictoryWin.cs
@@ -22,7 +22,7 @@ { scroller.OnRefreshCell += OnRefreshCell; CreateScroller(); int funcId = BoneFieldManager.Instance.funcId; int funcId = (int)FuncOpenEnum.BoneBattle; txtFuncName.text = FuncOpenLVConfig.HasKey(funcId) ? FuncOpenLVConfig.Get(funcId).Name : string.Empty; } Main/Utility/EnumHelper.cs
@@ -817,6 +817,7 @@ Official = 3,//内政 BeautyMM = 7,//红颜 GoldRush = 8, //淘金 BoneBattle = 9, //白骨盈野 Realm = 10, //境界 官职 Guild = 11,// 公会 BlessLV = 12, //祝福等级