From 5404df9dda332b69e7fdee296b584e0e27e562f8 Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Tue, 03 Nov 2020 15:01:38 +0800
Subject: [PATCH] 改进飞行特效

---
 Assets/Scripts/UI/FlyImage.cs                           |   11 ++++++++---
 Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs |   26 ++++++++++++++++++++++++++
 Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs     |   17 ++---------------
 3 files changed, 36 insertions(+), 18 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs b/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs
index 01c55c5..a11de8c 100644
--- a/Assets/Scripts/TowerDefense/Level/EndlessDropManager.cs
+++ b/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>
diff --git a/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs b/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs
index 00f4c4a..1b41082 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessDropReward.cs
+++ b/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);
-
 
         }
 
diff --git a/Assets/Scripts/UI/FlyImage.cs b/Assets/Scripts/UI/FlyImage.cs
index b1ba16d..d138533 100644
--- a/Assets/Scripts/UI/FlyImage.cs
+++ b/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;
         }
     }
 

--
Gitblit v1.9.1