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