少年修仙传客户端代码仓库
client_linchunjie
2018-10-30 5db5b0e43ad0477398b95c48df2c7cdf1aa17573
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;
            }
        }
    }
}