少年修仙传客户端代码仓库
client_linchunjie
2018-10-30 5db5b0e43ad0477398b95c48df2c7cdf1aa17573
4438 【前端】【1.2】Boss争夺战优化
3个文件已修改
95 ■■■■■ 已修改文件
System/FairyAu/FairyCallMemberBehaviour.cs 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/FlyShoseConfirmwin.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/MainInterfacePanel/MainInterfaceWin.cs 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/FairyAu/FairyCallMemberBehaviour.cs
@@ -10,6 +10,8 @@
    {
        [SerializeField] Button m_CallMember;
        [SerializeField] Text m_Timer;
        [SerializeField] UIEffect m_Effect;
        [SerializeField] RotationTween m_Tween;
        long lastTick = 0;
@@ -27,6 +29,7 @@
            GlobalTimeEvent.Instance.secondEvent += DisplayTimer;
            Display();
            DisplayTimer();
            DisplayEffect();
        }
        public void UnInit()
@@ -49,6 +52,7 @@
        void Display()
        {
            m_CallMember.gameObject.SetActive(CheckCallMember());
            DisplayEffect();
        }
        bool CheckCallMember()
@@ -111,17 +115,48 @@
                if (seconds <= 0 && m_Timer.gameObject.activeSelf)
                {
                    m_Timer.gameObject.SetActive(false);
                    DisplayEffect();
                }
                else if (seconds > 0)
                {
                    if (!m_Timer.gameObject.activeSelf)
                    {
                        m_Timer.gameObject.SetActive(true);
                        DisplayEffect();
                    }
                    m_Timer.text = StringUtility.Contact(seconds, Language.Get("RealmWin_Bewrite_35"));
                }
            }
        }
        void DisplayEffect()
        {
            var ticks = DateTime.Now.Ticks - lastTick;
            var ts = new TimeSpan(ticks < 0 ? 0 : ticks);
            var seconds = (int)(model.callMemberSeconds - ts.TotalSeconds);
            if (seconds > 0 || !m_CallMember.gameObject.activeInHierarchy)
            {
                if (m_Effect.IsPlaying)
                {
                    m_Effect.StopImediatly();
                }
                if (m_Tween.enabled)
                {
                    m_Tween.enabled = false;
                }
            }
            else
            {
                if (!m_Effect.IsPlaying)
                {
                    m_Effect.Play();
                }
                if (!m_Tween.enabled)
                {
                    m_Tween.enabled = true;
                }
            }
        }
    }
}
System/MainInterfacePanel/FlyShoseConfirmwin.cs
@@ -103,6 +103,7 @@
                    case UseEnvironment.Task:
                        m_ContentText.ExcuteHref(1);
                        break;
                    case UseEnvironment.FairyGrabBoss:
                    case UseEnvironment.LocalMap:
                        if (confirmCallBack != null)
                        {
@@ -135,6 +136,7 @@
        {
            Task,
            LocalMap,
            FairyGrabBoss,
        }
    }
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;
            }
        }
    }
}