| System/FindPrecious/PersonalBossModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/FindPrecious/PersonalBossWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
System/FindPrecious/PersonalBossModel.cs
@@ -42,6 +42,8 @@ PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } public int WipeOutLV = 100; //XX级后可S级扫荡 public int maxBossTimes = 0; public override void Init() { @@ -245,6 +247,8 @@ //} maxBossTimes = DungeonOpenTimeConfig.Get(PERSONALBOSS_MAPID).DayTimes; WipeOutLV = int.Parse(FuncConfigConfig.Get("WipeOutLV").Numerical1); } public void RequestGotoDungeon(int _bossId) @@ -261,6 +265,9 @@ public bool IsFreeTime(int bossID) { if (bossID == 0) return false; if (!(findPreciousModel.IsBossUnlock(bossID) && IsPlayerLevelEnough(bossID))) return false; var config = PersonalBossConfig.Get(bossID); @@ -274,6 +281,25 @@ } return true; } //S级可扫荡,增加等级限制(任务必须进副本否则会卡住,也不希望用户过早的扫荡低级BOSS) public bool CanFBWipeOut(int bossID) { if (PlayerDatas.Instance.baseData.LV <= WipeOutLV) { return false; } var config = PersonalBossConfig.Get(bossID); DungeonRecord dungeonRecord; if (dungeonModel.TryGetRecord(PERSONALBOSS_MAPID, out dungeonRecord)) { if (dungeonRecord.lineGrades.ContainsKey(config.lineId) && dungeonRecord.lineGrades[config.lineId] == 5) { return true; } } return false; } } public class PersonalBossData System/FindPrecious/PersonalBossWin.cs
@@ -18,7 +18,9 @@ [SerializeField] Text m_Times; [SerializeField] Button m_Goto; [SerializeField] RectTransform m_NoDamageTip; [SerializeField] Text m_ButtonName; [SerializeField] Button m_BuyTimes; [SerializeField] Text m_WipeText; PersonalBossModel model { get { return ModelCenter.Instance.GetModel<PersonalBossModel>(); } } FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } } @@ -68,7 +70,15 @@ protected override void OnAfterOpen() { model.bossSelectedEvent += OnBossSelected; if (model.CanFBWipeOut(model.selectedBoss)) { m_ButtonName.text = Language.Get("RuneTower22"); } else { m_ButtonName.text = Language.Get("RealmPractice108"); } m_WipeText.text = Language.Get("PersonalBossWipeOut", model.WipeOutLV); } protected override void OnPreClose() @@ -95,6 +105,7 @@ model.UpdateRedpoint(); } private void ShowBosses() { var bosses = new List<int>(); @@ -115,8 +126,15 @@ var error = 0; if (TestEnterDungeon(out error)) { if (model.CanFBWipeOut(model.selectedBoss)) { var config = PersonalBossConfig.Get(model.selectedBoss); dungeonModel.RequestSweep(new Dungeon(PersonalBossModel.PERSONALBOSS_MAPID, config.lineId)); } else { model.RequestGotoDungeon(model.selectedBoss); } } else { @@ -193,8 +211,15 @@ DisplayGotoKillButton(model.selectedBoss); DisplayTip(bossId); if (model.CanFBWipeOut(model.selectedBoss)) { m_ButtonName.text = Language.Get("RuneTower22"); } else { m_ButtonName.text = Language.Get("RealmPractice108"); } model.UpdateRedpoint(); } private void DisplayTip(int bossId)