From 625e008e9adedab35312e5814e024b7da66caf99 Mon Sep 17 00:00:00 2001
From: QD_LCJ <461730578@qq.com>
Date: 星期四, 09 八月 2018 21:19:35 +0800
Subject: [PATCH] 2313 2315 【前端】仙界密境“单人进入”流程修改 冰晶矿脉“单人进入”流程修改

---
 System/Dungeon/NormalDungeonEntranceWin.cs |   69 +++++++++++++++++++++++++++++++++-
 1 files changed, 67 insertions(+), 2 deletions(-)

diff --git a/System/Dungeon/NormalDungeonEntranceWin.cs b/System/Dungeon/NormalDungeonEntranceWin.cs
index bcb59f5..9be4f10 100644
--- a/System/Dungeon/NormalDungeonEntranceWin.cs
+++ b/System/Dungeon/NormalDungeonEntranceWin.cs
@@ -209,11 +209,76 @@
             var error = 0;
             if (model.TestChallangeDungeon(model.currentDungeon, out error))
             {
-                model.SingleChallengeDungeon(model.currentDungeon);
+                if (GeneralConfig.Instance.dungeonCanUseMoneyIds.Contains(model.currentDungeon.mapId))
+                {
+                    CheckUseMoneyDungeon(model.currentDungeon);
+                }
+                else
+                {
+                    model.SingleChallengeDungeon(model.currentDungeon);
+                }
             }
             else
             {
-                ProcessEnterDungeonError(error);
+                if (GeneralConfig.Instance.dungeonCanUseMoneyIds.Contains(model.currentDungeon.mapId)
+                    && error == 5)
+                {
+                    CheckUseMoneyDungeon(model.currentDungeon);
+                }
+                else
+                {
+                    ProcessEnterDungeonError(error);
+                }
+            }
+        }
+
+        private void CheckUseMoneyDungeon(Dungeon _dungeon)
+        {
+            var mapId = _dungeon.mapId;
+            var mapConfig = ConfigManager.Instance.GetTemplate<MapConfig>(mapId);
+
+            if ((MapType)mapConfig.MapFBType == MapType.MultipleFB)
+            {
+                var teamModel = ModelCenter.Instance.GetModel<TeamModel>();
+                if (teamModel.myTeam.inTeam)
+                {
+                    ConfirmCancel.ShowPopConfirm(
+                        Language.Get("Mail101"),
+                        Language.Get("PlayerExitTeamSolo"),
+
+                        (bool _ok) =>
+                        {
+                            if (_ok)
+                            {
+                                teamModel.RequestExitTeam();
+                                Clock.Create(DateTime.Now + new TimeSpan(1 * TimeSpan.TicksPerSecond),
+                                    () =>
+                                    {
+                                        OpenDungeonSuppliesLack(_dungeon);
+                                    }
+                                    );
+                            }
+                        }
+                        );
+
+                    return;
+                }
+            }
+            OpenDungeonSuppliesLack(_dungeon);
+        }
+
+        void OpenDungeonSuppliesLack(Dungeon _dungeon)
+        {
+            switch (_dungeon.mapId)
+            {
+                case 31080:
+                    DungeonSuppliesLackWin.lackType = DungeonSuppliesLackWin.LackType.FairyLand;
+                    WindowCenter.Instance.Open<DungeonSuppliesLackWin>();
+                    break;
+                case 31140:
+                    DungeonSuppliesLackWin.lackType = DungeonSuppliesLackWin.LackType.SingleIceCrystal;
+                    WindowCenter.Instance.Open<DungeonSuppliesLackWin>();
+                    break;
             }
         }
 

--
Gitblit v1.8.0