From e1a6fa4d577ebf4833cc91bef8d2ff334ebb750f Mon Sep 17 00:00:00 2001
From: hch <305670599@qq.com>
Date: 星期一, 02 十一月 2020 18:23:23 +0800
Subject: [PATCH] 0312 个人BOSS扫荡
---
System/FindPrecious/PersonalBossModel.cs | 26 +++++++++++++
System/FindPrecious/PersonalBossWin.cs | 37 +++++++++++++++---
2 files changed, 57 insertions(+), 6 deletions(-)
diff --git a/System/FindPrecious/PersonalBossModel.cs b/System/FindPrecious/PersonalBossModel.cs
index d1b1cc1..52a0ad1 100644
--- a/System/FindPrecious/PersonalBossModel.cs
+++ b/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绾у悗鍙疭绾ф壂鑽�
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绾у彲鎵崱,澧炲姞绛夌骇闄愬埗锛堜换鍔″繀椤昏繘鍓湰鍚﹀垯浼氬崱浣忥紝涔熶笉甯屾湜鐢ㄦ埛杩囨棭鐨勬壂鑽′綆绾OSS锛�
+ 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
diff --git a/System/FindPrecious/PersonalBossWin.cs b/System/FindPrecious/PersonalBossWin.cs
index 455a81c..d4475e5 100644
--- a/System/FindPrecious/PersonalBossWin.cs
+++ b/System/FindPrecious/PersonalBossWin.cs
@@ -18,8 +18,10 @@
[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>(); } }
DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
@@ -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))
{
- model.RequestGotoDungeon(model.selectedBoss);
-
+ 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
{
@@ -192,9 +210,16 @@
m_BossIntroduce.Display(bossId, false);
DisplayGotoKillButton(model.selectedBoss);
DisplayTip(bossId);
-
- model.UpdateRedpoint();
+ 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)
--
Gitblit v1.8.0