From 41a6e87783d042bf3e0ecebfa772443f2b5ed95d Mon Sep 17 00:00:00 2001
From: client_Wu Xijin <364452445@qq.com>
Date: 星期四, 06 六月 2019 17:22:55 +0800
Subject: [PATCH] 7132 【2.0】【开发】打宝界面优化2

---
 System/FindPrecious/DemonJarWin.cs |   87 ++++++++++++++++---------------------------
 1 files changed, 33 insertions(+), 54 deletions(-)

diff --git a/System/FindPrecious/DemonJarWin.cs b/System/FindPrecious/DemonJarWin.cs
index 9aa1b8f..1a9e3b6 100644
--- a/System/FindPrecious/DemonJarWin.cs
+++ b/System/FindPrecious/DemonJarWin.cs
@@ -30,7 +30,6 @@
 
         [SerializeField] RectTransform m_ContainerDouble;
         [SerializeField] Button m_BtnAutoAndDouble;
-        [SerializeField] Text m_AutoAndDoubleTitle;
 
         DemonJarModel model { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } }
         FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
@@ -70,8 +69,6 @@
             dungeonModel.dungeonRecordChangeEvent += OnRemaintimeUpdate;
             dungeonModel.countRemainTimeChangeEvent += OnRemaintimeUpdate;
             dungeonModel.updateDungeonBuyCnt += OnBuyTimesOk;
-            model.doubleAwardChangeEvent += OnDoubleAwardChange;
-            model.autoChallengeChangeEvent += OnAutoChallengeChange;
         }
 
         protected override void OnPreClose()
@@ -82,8 +79,6 @@
             dungeonModel.dungeonRecordChangeEvent -= OnRemaintimeUpdate;
             dungeonModel.countRemainTimeChangeEvent -= OnRemaintimeUpdate;
             dungeonModel.updateDungeonBuyCnt -= OnBuyTimesOk;
-            model.doubleAwardChangeEvent -= OnDoubleAwardChange;
-            model.autoChallengeChangeEvent -= OnAutoChallengeChange;
         }
 
         protected override void OnAfterClose()
@@ -96,7 +91,6 @@
             ShowBosses();
             model.lockSelectedBoss = false;
 
-            DisplayAutoAndDoubleTitle();
             CheckTaskGuide();
             CheckAchievementGuideByTimes();
             CheckAchievementGuideKillBoss();
@@ -111,36 +105,18 @@
             if (!model.lockSelectedBoss)
             {
                 var targetBoss = model.GetLatestUnLockBoss();
-                if (!findPreciousModel.IsBossAlive(targetBoss))
-                {
-                    var priorConfig = NPCConfig.Get(targetBoss);
-                    if (priorConfig.NPCLV <= GeneralDefine.demonJarLevelLimit)
-                    {
-                        targetBoss = bosses[0];
-                        for (int i = bosses.Count - 1; i >= 0; i--)
-                        {
-                            var bossId = bosses[i];
-                            var npcConfig = NPCConfig.Get(bossId);
-                            if (npcConfig.NPCLV <= priorConfig.NPCLV && findPreciousModel.IsBossAlive(bossId))
-                            {
-                                targetBoss = bossId;
-                                break;
-                            }
-                        }
-                    }
-                }
-
                 model.selectedBoss = targetBoss;
             }
 
             DemonJarBossData bossData;
             model.TryGetBossData(model.selectedBoss, out bossData);
-            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss);
 
             m_BossIntroduce.Display(model.selectedBoss, true);
             m_Bosses.Init(bosses);
             m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss));
 
+            DisplayGotoKillButton(model.selectedBoss);
+            DisplaySubscribe(model.selectedBoss);
             DisplayTip(model.selectedBoss);
         }
 
@@ -193,26 +169,6 @@
             }
         }
 
-        private void OnDoubleAwardChange()
-        {
-            DisplayAutoAndDoubleTitle();
-        }
-
-        private void OnAutoChallengeChange()
-        {
-            DisplayAutoAndDoubleTitle();
-        }
-
-        private void DisplayAutoAndDoubleTitle()
-        {
-            var config = DemonJarConfig.Get(model.selectedBoss);
-            var doubleAllow = config.CanEnterTimes == 0;
-            var doubleString = UIHelper.AppendColor(model.isDoubleAward && doubleAllow ? TextColType.Green : TextColType.NavyBrown, Language.Get("DemonJarDoubleWord"), true);
-            var autoString = UIHelper.AppendColor(model.autoChallenge ? TextColType.Green : TextColType.NavyBrown, Language.Get("DemonJarAutoWord"), true);
-
-            m_AutoAndDoubleTitle.text = StringUtility.Contact(autoString, "/", doubleString);
-        }
-
         private void GotoKillBoss()
         {
             var error = 0;
@@ -240,7 +196,9 @@
                         DemonJarBossData bossData = null;
                         if (model.TryGetBossData(model.selectedBoss, out bossData))
                         {
-                            SysNotifyMgr.Instance.ShowTip("DemonJarLvChallenge", bossData.unLockLevel);
+                            var config = NPCConfig.Get(model.selectedBoss);
+                            var realmConfig = RealmConfig.Get(config.Realm);
+                            SysNotifyMgr.Instance.ShowTip("DemonJarLvChallenge", realmConfig.Name);
                         }
                         break;
                     case 2:
@@ -272,6 +230,9 @@
                                     model.doubleToKillLowerBossHint = false;
                                 }
                             });
+                        break;
+                    case 6:
+                        SysNotifyMgr.Instance.ShowTip("BossRealmHint2", NPCConfig.Get(model.selectedBoss).Realm);
                         break;
                 }
             }
@@ -324,10 +285,16 @@
 
         private bool TestEnterDungeon(out int _error)
         {
+            if (findPreciousModel.IsRealmEnoughToKillBoss(model.selectedBoss))
+            {
+                _error = 6;
+                return false;
+            }
+
             DemonJarBossData bossData = null;
             if (model.TryGetBossData(model.selectedBoss, out bossData))
             {
-                if (PlayerDatas.Instance.baseData.LV < bossData.unLockLevel)
+                if (findPreciousModel.IsBossUnlock(model.selectedBoss))
                 {
                     _error = 1;
                     return false;
@@ -367,7 +334,6 @@
         private void OnBossSelected(int bossId)
         {
             m_BossIntroduce.Display(bossId, false);
-            m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId);
 
             DemonJarBossData bossData;
             model.TryGetBossData(bossId, out bossData);
@@ -375,8 +341,9 @@
             var config = DemonJarConfig.Get(model.selectedBoss);
             m_RewardDescription.text = Language.Get(config.RewardDescription);
 
+            DisplayGotoKillButton(model.selectedBoss);
+            DisplaySubscribe(model.selectedBoss);
             DisplayTip(bossId);
-            DisplayAutoAndDoubleTitle();
         }
 
         private void CheckAchievementGuideByTimes()
@@ -421,10 +388,7 @@
 
         private void DisplayTip(int bossId)
         {
-            var realmLevel = PlayerDatas.Instance.baseData.realmLevel;
-            var config = NPCConfig.Get(bossId);
-
-            if (config.Realm > realmLevel)
+            if (!findPreciousModel.IsRealmEnoughToKillBoss(bossId))
             {
                 m_NoDamageTip.gameObject.SetActive(true);
                 m_SurpassLevel.gameObject.SetActive(false);
@@ -438,6 +402,21 @@
             }
         }
 
+        private void DisplayGotoKillButton(int bossId)
+        {
+            var isUnlock = findPreciousModel.IsBossUnlock(model.selectedBoss);
+            m_Goto.gameObject.SetActive(isUnlock);
+        }
+
+        private void DisplaySubscribe(int bossId)
+        {
+            var isUnLocked = findPreciousModel.IsBossUnlock(bossId);
+            m_Subscribe.gameObject.SetActive(isUnLocked);
+            if (isUnLocked)
+            {
+                m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId);
+            }
+        }
 
     }
 

--
Gitblit v1.8.0