From 4da8a975b1cca4c4d56e6947bb522bf2cc37223a Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期四, 15 十一月 2018 15:11:53 +0800
Subject: [PATCH] 4709 【1.3】【前端】魔族法宝副本修改(新增多个小关卡)

---
 System/Dungeon/DemonTreasureDungeonVictoryWin.cs |   10 ++++++++++
 System/Dungeon/TreasureDungeonMissionHintWin.cs  |   28 ++++++++++++++--------------
 2 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/System/Dungeon/DemonTreasureDungeonVictoryWin.cs b/System/Dungeon/DemonTreasureDungeonVictoryWin.cs
index 7ddd259..e970ada 100644
--- a/System/Dungeon/DemonTreasureDungeonVictoryWin.cs
+++ b/System/Dungeon/DemonTreasureDungeonVictoryWin.cs
@@ -17,6 +17,8 @@
         [SerializeField] PropertyBehaviour[] m_Propertys;
         [SerializeField] Button m_ChallengeNextLevel;
 
+        public static event Action challengeNextEvent;
+
         TreasureModel model
         {
             get { return ModelCenter.Instance.GetModel<TreasureModel>(); }
@@ -63,6 +65,7 @@
                     {
                         m_Propertys[index].gameObject.SetActive(true);
                         m_Propertys[index].Display(key, propertyDict[key]);
+                        index++;
                     }
                 }
             }
@@ -84,6 +87,13 @@
                     pak.ActionType = 0;
                     pak.ActionInfo = 0;
                     GameNetSystem.Instance.SendInfo(pak);
+                    dungeonModel.UpdateCoolDown(DungeonCoolDownType.LeaveMap, 0);
+                    dungeonModel.UpdateCoolDown(DungeonCoolDownType.TowerTake, 0);
+                    CloseClick();
+                    if (challengeNextEvent != null)
+                    {
+                        challengeNextEvent();
+                    }
                 }
             }
         }
diff --git a/System/Dungeon/TreasureDungeonMissionHintWin.cs b/System/Dungeon/TreasureDungeonMissionHintWin.cs
index b8e1b2b..97aec8d 100644
--- a/System/Dungeon/TreasureDungeonMissionHintWin.cs
+++ b/System/Dungeon/TreasureDungeonMissionHintWin.cs
@@ -48,6 +48,7 @@
             m_ScreenMoveTo.gameObject.SetActive(false);
             BossNotify.OnNotifyStateEvent += OnNotifyStateEvent;
             BossShowModel.Instance.bossShowCompletedEvent += BossShowCompletedEvent;
+            DemonTreasureDungeonVictoryWin.challengeNextEvent += ChallengeNextEvent;
 
             var allConfigs = Config.Instance.GetAllValues<TreasureConfig>();
             foreach (var value in allConfigs)
@@ -70,6 +71,7 @@
         {
             BossNotify.OnNotifyStateEvent -= OnNotifyStateEvent;
             BossShowModel.Instance.bossShowCompletedEvent -= BossShowCompletedEvent;
+            DemonTreasureDungeonVictoryWin.challengeNextEvent -= ChallengeNextEvent;
             m_ContainerDisplay.gameObject.SetActive(true);
         }
 
@@ -134,6 +136,14 @@
             }
         }
 
+        private void ChallengeNextEvent()
+        {
+            if (demonTreasureDungeon)
+            {
+                DisplayDemonTreasureDungeon();
+            }
+        }
+
         void DisplayNormalTreasureDungeon()
         {
             var config = Config.Instance.Get<TreasureConfig>(treasureId);
@@ -187,22 +197,12 @@
             demonTreasureDungeon = false;
             if (mapId == 41110)
             {
-                var list = model.GetTreasureCategory(TreasureCategory.Demon);
-                for (int i = 0; i < list.Count; i++)
+                TreasureDungeon treasureDungeon;
+                if (model.TryGetTreasureDungeon(mapId, lineId, out treasureDungeon))
                 {
-                    TreasureDungeon treasureDungeon;
-                    if (model.TryGetTreasureDungeon(list[i], out treasureDungeon))
+                    if (treasureDungeon.currentLevel < treasureDungeon.maxLevel - 1)
                     {
-                        var count = treasureDungeon.dungeonInfos.Count;
-                        if (count > 0 && treasureDungeon.dungeonInfos[0].lineId == lineId)
-                        {
-                            var maxLevel = treasureDungeon.dungeonInfos[count - 1].level;
-                            if (treasureDungeon.currentLevel < maxLevel - 1)
-                            {
-                                demonTreasureDungeon = true;
-                                break;
-                            }
-                        }
+                        demonTreasureDungeon = true;
                     }
                 }
             }

--
Gitblit v1.8.0