少年修仙传客户端代码仓库
client_linchunjie
2018-08-23 81804087113cf244fcfa464512fad0002963a166
2827【前端】跑马灯出现新增特效
3个文件已修改
80 ■■■■■ 已修改文件
System/Message/SysNotifyMgr.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Tip/MarqueeWin.cs 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Tip/ServerTipDetails.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Message/SysNotifyMgr.cs
@@ -28,12 +28,19 @@
    private void Awake()
    {
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent += BeforePlayerDataInitializeEvent;
        StageManager.Instance.onStageLoadFinish += OnStageLoadFinish;
    }
    protected override void OnDestroy()
    {
        base.OnDestroy();
        DTC0102_tagCDBPlayer.beforePlayerDataInitializeEvent -= BeforePlayerDataInitializeEvent;
        StageManager.Instance.onStageLoadFinish -= OnStageLoadFinish;
    }
    private void OnStageLoadFinish()
    {
        ServerTipDetails.OnStageLoadFinish();
    }
    private void BeforePlayerDataInitializeEvent()
System/Tip/MarqueeWin.cs
@@ -14,13 +14,11 @@
    public class MarqueeWin : Window
    {
        [SerializeField]
        RichText marqueeText;
        [SerializeField]
        RectTransform marqueeBg;
        [SerializeField]
        TweenCurve tweenCurve;
        [SerializeField] RectTransform m_ContainerMarquee;
        [SerializeField] RichText marqueeText;
        [SerializeField] RectTransform marqueeBg;
        [SerializeField] TweenCurve tweenCurve;
        [SerializeField] UIEffect m_Effect;
        #region 参数
        Vector3 fromPos;
        Vector3 toPos;
@@ -32,6 +30,8 @@
        [SerializeField]
        float speed = 5.0f;
        Coroutine cacheCoroutine = null;
        #region Built-in
        protected override void BindController()
@@ -49,19 +49,37 @@
            m_Time = 0;
            ServerTipDetails.OnTweening = false;
            presentCnt = 0;
            m_ContainerMarquee.gameObject.SetActive(false);
            if (cacheCoroutine != null)
            {
                StopCoroutine(cacheCoroutine);
                cacheCoroutine = null;
            }
        }
        protected override void OnActived()
        {
            base.OnActived();
            m_Effect.Play();
            cacheCoroutine = StartCoroutine(Co_StartTween());
        }
        protected override void OnAfterOpen()
        {
            BeginMarquee();
            //BeginMarquee();
        }
        protected override void OnPreClose()
        {
            ServerTipDetails.OnTweening = false;
            presentCnt = 0;
            if (cacheCoroutine != null)
            {
                StopCoroutine(cacheCoroutine);
                cacheCoroutine = null;
            }
        }
        protected override void OnAfterClose()
@@ -69,6 +87,13 @@
        }
        IEnumerator Co_StartTween()
        {
            yield return WaitingForSecondConst.WaitMS500;
            m_ContainerMarquee.gameObject.SetActive(true);
            BeginMarquee();
        }
        protected override void LateUpdate()
        {
            base.LateUpdate();
System/Tip/ServerTipDetails.cs
@@ -22,12 +22,44 @@
            m_Marquees.Sort(SysNotifyMgr.Instance.Compare);
            if (!CheckOpenMarquee())
            {
                return;
            }
            if (!WindowCenter.Instance.CheckOpen<MarqueeWin>())
            {
                WindowCenter.Instance.Open<MarqueeWin>();
            }
        }
        public static void OnStageLoadFinish()
        {
            if (StageManager.Instance.CurrentStage is LoginStage
                || StageManager.Instance.CurrentStage is SelectRoleStage)
            {
                m_Marquees.Clear();
                return;
            }
            SnxxzGame.Instance.StartCoroutine(Co_StageLoadFinish());
        }
        static IEnumerator Co_StageLoadFinish()
        {
            yield return null;
            if (CheckOpenMarquee() && m_Marquees.Count > 0)
            {
                if (!WindowCenter.Instance.CheckOpen<MarqueeWin>())
                {
                    WindowCenter.Instance.Open<MarqueeWin>();
                }
            }
        }
        static bool CheckOpenMarquee()
        {
            return (StageManager.Instance.CurrentStage is DungeonStage) && !StageManager.Instance.isLoading;
        }
        public static SystemHintData RequireMarquee()
        {
            if (m_Marquees.Count > 0)