wangguan
2020-11-03 5404df9dda332b69e7fdee296b584e0e27e562f8
改进飞行特效
3 files modified
54 ■■■■■ changed files
Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs 26 ●●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs 17 ●●●● patch | view | raw | blame | history
Assets/Scripts/UI/FlyImage.cs 11 ●●●● patch | view | raw | blame | history
Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs
@@ -194,6 +194,32 @@
            return fly;
        }
        public void FlyIcon(Transform ts, Sprite sp, Vector3 startP, Vector3 endP, bool useBezier)
        {
            StartCoroutine(CreateIcon(ts, sp, startP, endP, useBezier));
        }
        IEnumerator CreateIcon(Transform ts, Sprite sp, Vector3 startP, Vector3 endP, bool useBezier)
        {
            FlyImage fly;
            for (int i = 0; i < 5; i++)
            {
                fly = CreateIcon(ts);
                fly.SetDestination(sp, startP, endP, useBezier);
            }
            yield return new WaitForSeconds(0.2f);
            for (int i = 0; i < 3; i++)
            {
                fly = CreateIcon(ts);
                fly.SetDestination(sp, startP, endP, useBezier);
            }
            yield break;
        }
        /// <summary>
        /// 调用掉落获得事件
        /// </summary>
Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs
@@ -80,30 +80,17 @@
        public GameObject drapIcon;
        public void OnClick()
        {
            //GameObject obj;
            FlyImage fly;
            //GameObject ui = GameObject.Find("BottomUI");
            if (Application.platform == RuntimePlatform.WindowsEditor)
            {
                //UnityEditor.EditorApplication.isPaused = true;
            }
            if (isBox)
            {
                for (int i = 0; i < 5; i++)
                {
                    fly = EndlessDropManager.instance.CreateIcon(transform.parent);
                    fly.SetDestination(Icon.sprite, transform.position, (propBtn.transform as RectTransform).position, true);
                }
                EndlessDropManager.instance.FlyIcon(transform.parent, Icon.sprite, transform.position, (propBtn.transform as RectTransform).position, true);
            }
            else
            {
                fly = EndlessDropManager.instance.CreateIcon(transform.parent);
                FlyImage fly = EndlessDropManager.instance.CreateIcon(transform.parent);
                fly.SetDestination(Icon.sprite, transform.position, (propBtn.transform as RectTransform).position, false);
            }
            if (ClickDropEvent != null)
                ClickDropEvent(DropData);
        }
Assets/Scripts/UI/FlyImage.cs
@@ -88,12 +88,17 @@
    /// </summary>
    private void Bezier_Move()
    {
        transform.DOMove(point[index], 0.01f).OnComplete(Bezier_Move);
        index++;
        if (index >= point.Count)
        if (index + 2 >= point.Count)
        {
            //到终点了
            Close();
            return;
        }
        else
        {
            transform.DOMove(point[index], 0.01f).OnComplete(Bezier_Move);
            index += 2;
        }
    }