diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/LevelGroupInfo.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/LevelGroupInfo.cs index 43732658287..1518a676d45 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/LevelGroupInfo.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/Level/LevelGroupInfo.cs @@ -1,8 +1,10 @@ using System.Collections.Generic; using cfg.LevelCfg; using cfg.RedPoint; +using Framework; using Gameplay.Level; using Gameplay.Net; +using UnityEngine; /// /// 关卡组信息 @@ -130,16 +132,33 @@ public class LevelGroupInfo : IRedPointTreeNode { get { - int index = Cfg.StarList.Length - 1; - for (int i = Cfg.StarList.Length - 1; i >= 0; --i) + if (E_ChapterType.War == ChapterInfo.Cfg.Type) { - if (Cfg.StarList[i] > Score) - index = i; - else - break; - } + List listScoreRate = TableManager.Instance.Tables.GlobalConfig.CampaignScoreClass; + int index = listScoreRate.Count - 1; + for (int i = listScoreRate.Count - 1; i >= 0; --i) + { + if ((int)(listScoreRate[i] * ScoreMax) > Score) + index = i; + else + break; + } - return index; + return index; + } + else + { + int index = Cfg.StarList.Length - 1; + for (int i = Cfg.StarList.Length - 1; i >= 0; --i) + { + if (Cfg.StarList[i] > Score) + index = i; + else + break; + } + + return index; + } } } #endregion diff --git a/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/SelectLevel/UI_WarScoreRewardController.cs b/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/SelectLevel/UI_WarScoreRewardController.cs index d71321b9182..2cd4ed54d2d 100644 --- a/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/SelectLevel/UI_WarScoreRewardController.cs +++ b/ProjectNLD/Assets/Code/Scripts/Gameplay/UI/SelectLevel/UI_WarScoreRewardController.cs @@ -93,47 +93,38 @@ public class UI_WarScoreRewardController : UIWindow } #region UI - /// /// 高斯模糊遮罩 /// private RawImage rawImageGaussianBlurMask; - /// /// 评级 /// private Image imageRating; - /// /// 关闭 /// private Button buttonClose; - /// /// 领取奖励按钮 /// private Button buttonGet; - /// /// 下一目标文本 /// private TMP_Text textTitle; - /// /// 下一目标评分 /// private TMP_Text textScore; - /// /// 循环列表 /// private RecycleView recycleView; - /// /// 不能领取按钮表现 /// private GameObject goGetOff; - #endregion /// @@ -230,9 +221,10 @@ public class UI_WarScoreRewardController : UIWindow IsGet = levelGroupInfo.IsHasGetRewards; int nextTargerScoreIndex = levelGroupInfo.NextTargerStarIndex; - int nextTargetScore = levelGroupInfo.Cfg.StarList[nextTargerScoreIndex]; + List listScoreRate = TableManager.Instance.Tables.GlobalConfig.CampaignScoreClass; + int nextTargetScore = (int)(listScoreRate[nextTargerScoreIndex] * levelGroupInfo.ScoreMax); textScore.text = nextTargetScore.ToString(); - if (nextTargerScoreIndex + 1 == levelGroupInfo.Cfg.StarList.Length && levelGroupInfo.IsGetReward(nextTargerScoreIndex + 1)) + if (nextTargerScoreIndex + 1 == listScoreRate.Count && levelGroupInfo.IsGetReward(nextTargerScoreIndex + 1)) { textTitle.text = "目标完成"; // TODO 本地化 Dictionary dicItemCount = new(); @@ -323,17 +315,17 @@ public class UI_WarScoreRewardController : UIWindow return; } - var curStarScore = levelGroupInfo.Cfg.StarList[index]; - var nextStarScore = index + 1 < levelGroupInfo.Cfg.StarList.Length - ? levelGroupInfo.Cfg.StarList[index + 1] - : levelGroupInfo.Cfg.StarList[index]; + List listScoreRate = TableManager.Instance.Tables.GlobalConfig.CampaignScoreClass; + int curStarScore = (int)(listScoreRate[index] * levelGroupInfo.ScoreMax); + int nextStarScore = index + 1 < listScoreRate.Count + ? (int)(listScoreRate[index + 1] * levelGroupInfo.ScoreMax) + : (int)(listScoreRate[index] * levelGroupInfo.ScoreMax); starListItem.SetInfo(curStarScore, levelGroupInfo.ScoreMax, levelGroupInfo.Score, nextStarScore, levelGroupInfo.Cfg.Rewards[index], levelGroupInfo.IsGetReward(index + 1)); } #region 按钮回调 - private void OnClose() { CloseWindow(); @@ -346,6 +338,5 @@ public class UI_WarScoreRewardController : UIWindow { NetHelper.LevelGroupReward((uint)levelGroupInfo.Cfg.Id); } - #endregion } \ No newline at end of file