From 5db5b0e43ad0477398b95c48df2c7cdf1aa17573 Mon Sep 17 00:00:00 2001
From: client_linchunjie <461730578@qq.com>
Date: 星期二, 30 十月 2018 16:24:18 +0800
Subject: [PATCH] 4438 【前端】【1.2】Boss争夺战优化

---
 System/MainInterfacePanel/MainInterfaceWin.cs |   58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 58 insertions(+), 0 deletions(-)

diff --git a/System/MainInterfacePanel/MainInterfaceWin.cs b/System/MainInterfacePanel/MainInterfaceWin.cs
index 03404f4..f65d300 100644
--- a/System/MainInterfacePanel/MainInterfaceWin.cs
+++ b/System/MainInterfacePanel/MainInterfaceWin.cs
@@ -85,6 +85,7 @@
         [SerializeField] Button m_SendRedbagBtn;
         [SerializeField] Button WishingAwardImg;
         [SerializeField] Button m_GotoFairyGrabBoss;
+        [SerializeField] Button m_FlyToFairyGrabBoss;
 
         [SerializeField] Transform m_EffectTask;//浠诲姟瀹屾垚鐗规晥鎾斁浣嶇疆
         private int m_CollectNPCID;
@@ -176,6 +177,7 @@
             m_SendRedbagBtn.AddListener(SendRedpacketBtn);
             WishingAwardImg.AddListener(ClickWishAward);
             m_GotoFairyGrabBoss.AddListener(GotoFairyGrabBoss);
+            m_FlyToFairyGrabBoss.AddListener(FlyToFairyGrabBoss);
         }
 
         protected override void OnPreOpen()
@@ -1130,6 +1132,62 @@
                 }
             }
         }
+
+        private void FlyToFairyGrabBoss()
+        {
+            if (fairyGrabBossModel.cacheGotoBossId != 0)
+            {
+                var error = 0;
+                if (fairyGrabBossModel.TestEnterDungeon(fairyGrabBossModel.cacheGotoBossId, out error))
+                {
+                    var bossInfoConfig = Config.Instance.Get<BossInfoConfig>(fairyGrabBossModel.cacheGotoBossId);
+                    var flyItemCount = ModelCenter.Instance.GetModel<PlayerPackModel>().GetItemCountByID(PackType.rptItem, GeneralDefine.flyBootItemId);
+                    var freeFly = ModelCenter.Instance.GetModel<VipModel>().GetVipPrivilegeCnt(VipPrivilegeType.FreeTransfer) > 0;
+                    if (bossInfoConfig != null)
+                    {
+                        if (freeFly || flyItemCount > 0)
+                        {
+                            MapTransferUtility.Instance.MissionFlyTo(bossInfoConfig.MapID, fairyGrabBossModel.cacheGotoBossId);
+                        }
+                        else
+                        {
+                            FlyShoseConfirmwin.useEnvironment = FlyShoseConfirmwin.UseEnvironment.FairyGrabBoss;
+                            FlyShoseConfirmwin.confirmCallBack = FlyShoesUseCallback;
+                            WindowCenter.Instance.Open<FlyShoseConfirmwin>();
+                        }
+                    }
+                }
+                else
+                {
+                    fairyGrabBossModel.DisplayErrorTip(error);
+                }
+            }
+        }
+
+        private void FlyShoesUseCallback()
+        {
+            switch (FlyShoseConfirmwin.useEnvironment)
+            {
+                case FlyShoseConfirmwin.UseEnvironment.FairyGrabBoss:
+                    if (fairyGrabBossModel.cacheGotoBossId != 0)
+                    {
+                        var error = 0;
+                        if (fairyGrabBossModel.TestEnterDungeon(fairyGrabBossModel.cacheGotoBossId, out error))
+                        {
+                            var bossInfoConfig = Config.Instance.Get<BossInfoConfig>(fairyGrabBossModel.cacheGotoBossId);
+                            if (bossInfoConfig != null)
+                            {
+                                MapTransferUtility.Instance.MissionFlyTo(bossInfoConfig.MapID, fairyGrabBossModel.cacheGotoBossId);
+                            }
+                        }
+                        else
+                        {
+                            fairyGrabBossModel.DisplayErrorTip(error);
+                        }
+                    }
+                    break;
+            }
+        }
     }
 
 }

--
Gitblit v1.8.0