hch
19 小时以前 5880535f4ed8e45cc1c1c931109b931d66785141
0312 优化tip显示;补抬箱子动作
4个文件已修改
129 ■■■■■ 已修改文件
Main/System/InternalAffairs/GoldRushLeader.cs 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Tip/ScrollTip.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Tip/ScrollTipDetail.cs 97 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Tip/ScrollTipWin.cs 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/InternalAffairs/GoldRushLeader.cs
@@ -75,7 +75,14 @@
        }
        Vector3 nextPos = leaderPathPointArr[moveIndex].transform.localPosition;
        if (isBack)
        {
            leader.PlayAnimation("run_xiangzi", true, false);
        }
        else
        {
        leader.PlayAnimation("run", true, false);
        }
        leaderPosIndex = moveIndex;
        bool isRush = pathPosEvent.m_PosEvent == PosEvent.Rush;
Main/System/Tip/ScrollTip.cs
@@ -119,6 +119,7 @@
        m_Hints.Clear();
    }
    //暂时保留 改用dotween
    public enum ScrollTipState
    {
        None,
Main/System/Tip/ScrollTipDetail.cs
@@ -3,6 +3,7 @@
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using DG.Tweening;
    [RequireComponent(typeof(CanvasGroup))]
    public class ScrollTipDetail : MonoBehaviour
    {
@@ -11,7 +12,7 @@
        CanvasGroup canvasGroup;
        [HideInInspector]
        public ScrollTip.ScrollTipState presentState = ScrollTip.ScrollTipState.Idle;
    public ScrollTip.ScrollTipState presentState = ScrollTip.ScrollTipState.Move;
        private float m_Time = 0;
        private Vector3 pos = Vector3.zero;
@@ -44,47 +45,59 @@
            canvasGroup.alpha = 1;
            pos = transform.localPosition;
            presentState = state;
        //LateUpdate 改成dotwweing
        Sequence tween = DOTween.Sequence();;
        tween.Append(transform.DOLocalMove(pos.SetY(pos.y + m_TipDistance), ScrollTip.tipMoveTime)).SetEase(Ease.Linear);
        tween.AppendInterval(m_TipShowTime);
        tween.Append(canvasGroup.DOFade(0, m_TipHideTime)).SetEase(Ease.Linear);
        tween.Play();
        tween.OnComplete(() =>
        {
            presentState = ScrollTip.ScrollTipState.None;
            ScrollTip.Release(this, false);
            ScrollTip.OnTipComplete();
        });
        }
        private void LateUpdate()
        {
            m_Time += Time.deltaTime;
            switch (presentState) {
                case ScrollTip.ScrollTipState.Idle: {
                        m_Time = Mathf.Min(m_Time, m_TipShowTime);
                        if (m_Time >= m_TipShowTime) {
                            m_Time = 0;
                            var index = ScrollTip.m_ActiveTips.IndexOf(this);
                            if (index == 0) {
                                presentState = ScrollTip.ScrollTipState.Hide;
                            }
                            else {
                                presentState = ScrollTip.ScrollTipState.None;
                            }
                        }
                    }
                    break;
                case ScrollTip.ScrollTipState.Move: {
                        m_Time = Mathf.Min(m_Time, ScrollTip.tipMoveTime);
                        transform.localPosition = Vector3.Lerp(pos, pos.SetY(pos.y + m_TipDistance), m_Time / ScrollTip.tipMoveTime);
                        if (m_Time >= ScrollTip.tipMoveTime) {
                            m_Time = 0;
                            presentState = ScrollTip.ScrollTipState.Idle;
                            ScrollTip.OnTipComplete();
                        }
                    }
                    break;
                case ScrollTip.ScrollTipState.Hide: {
                        m_Time = Mathf.Min(m_Time, m_TipHideTime);
                        canvasGroup.alpha = 1 - m_Time / m_TipHideTime;
                        if (m_Time >= m_TipHideTime) {
                            m_Time = 0;
                            presentState = ScrollTip.ScrollTipState.None;
                            ScrollTip.Release(this);
                            ScrollTip.OnTipComplete();
                        }
                    }
                    break;
            }
        }
    // private void LateUpdate()
    // {
    //     m_Time += Time.deltaTime;
    //     switch (presentState) {
    //         case ScrollTip.ScrollTipState.Idle: {
    //                 m_Time = Mathf.Min(m_Time, m_TipShowTime);
    //                 if (m_Time >= m_TipShowTime) {
    //                     m_Time = 0;
    //                     var index = ScrollTip.m_ActiveTips.IndexOf(this);
    //                     if (index == 0) {
    //                         presentState = ScrollTip.ScrollTipState.Hide;
    //                     }
    //                     else {
    //                         presentState = ScrollTip.ScrollTipState.None;
    //                     }
    //                 }
    //             }
    //             break;
    //         case ScrollTip.ScrollTipState.Move: {
    //                 m_Time = Mathf.Min(m_Time, ScrollTip.tipMoveTime);
    //                 transform.localPosition = Vector3.Lerp(pos, pos.SetY(pos.y + m_TipDistance), m_Time / ScrollTip.tipMoveTime);
    //                 if (m_Time >= ScrollTip.tipMoveTime) {
    //                     m_Time = 0;
    //                     presentState = ScrollTip.ScrollTipState.Idle;
    //                     ScrollTip.OnTipComplete();
    //                 }
    //             }
    //             break;
    //         case ScrollTip.ScrollTipState.Hide: {
    //                 m_Time = Mathf.Min(m_Time, m_TipHideTime);
    //                 canvasGroup.alpha = 1 - m_Time / m_TipHideTime;
    //                 if (m_Time >= m_TipHideTime) {
    //                     m_Time = 0;
    //                     presentState = ScrollTip.ScrollTipState.None;
    //                     ScrollTip.Release(this);
    //                     ScrollTip.OnTipComplete();
    //                 }
    //             }
    //             break;
    //     }
    // }
    }
Main/System/Tip/ScrollTipWin.cs
@@ -75,10 +75,10 @@
            {
                ScrollTip.tipMoveTime = m_TipMoveTime;
            }
            for (int i = 0; i < ScrollTip.m_ActiveTips.Count; i++)
            {
                ScrollTip.m_ActiveTips[i].Play(ScrollTip.ScrollTipState.Move);
            }
            // for (int i = 0; i < ScrollTip.m_ActiveTips.Count; i++)
            // {
            //     ScrollTip.m_ActiveTips[i].Play(ScrollTip.ScrollTipState.Move);
            // }
            ScrollTipDetail tipDetail = ScrollTip.Request();
            if (tipDetail != null)
            {
@@ -91,20 +91,20 @@
                var _hint = ScrollTip.m_Hints[0];
                ScrollTip.m_Hints.RemoveAt(0);
                tipDetail.ShowTip(_hint);
                tipDetail.Play(ScrollTip.ScrollTipState.Idle);
                tipDetail.Play(ScrollTip.ScrollTipState.Move);
            }
        }
    }
    private bool IsCanAdd()
    {
        for (int i = 0; i < ScrollTip.m_ActiveTips.Count; i++)
        {
            if (ScrollTip.m_ActiveTips[i].presentState == ScrollTip.ScrollTipState.Move)
            {
                return false;
            }
        }
        // for (int i = 0; i < ScrollTip.m_ActiveTips.Count; i++)
        // {
        //     if (ScrollTip.m_ActiveTips[i].presentState == ScrollTip.ScrollTipState.Move)
        //     {
        //         return false;
        //     }
        // }
        return true;
    }
}