From 7f9f5fa4440c237c7116ad0ada6b72d0e7cc8781 Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Thu, 03 Dec 2020 10:22:46 +0800
Subject: [PATCH] Merge branch 'master' of http://172.16.1.52:8090/r/GemBattle

---
 Assets/Scripts/TowerDefense/UI/TextMoveDoTween.cs |   74 ++++++++++++++++++------------------
 1 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/TextMoveDoTween.cs b/Assets/Scripts/TowerDefense/UI/TextMoveDoTween.cs
index 380573b..ea38f0b 100644
--- a/Assets/Scripts/TowerDefense/UI/TextMoveDoTween.cs
+++ b/Assets/Scripts/TowerDefense/UI/TextMoveDoTween.cs
@@ -1,6 +1,5 @@
 using Core.Utilities;
 using DG.Tweening;
-using System;
 using TMPro;
 using UnityEngine;
 using UnityEngine.UI;
@@ -13,17 +12,6 @@
 
     public Image CritWord;
 
-    // Start is called before the first frame update
-    void Start()
-    {
-
-    }
-
-    // Update is called once per frame
-    void Update()
-    {
-    }
-
     private float scaleOffect = 1.5f;
 
     /// <summary>
@@ -34,21 +22,35 @@
     /// <param name="text"></param>
     public void moveBloodText(float x, float y, string text, bool crit = false)
     {
-        // 先设置Text的位置到一个标准位置
+        // // 先设置Text的位置到一个标准位置
+        // Vector3 pos = bloodText.transform.position;
+        // pos.x = x;
+        // pos.y = y;
+        // pos.z = 0;
+        // bloodText.transform.position = pos;
+
+        // Vector3 sval = bloodText.transform.localScale;
+        // sval.x = 1.0f;
+        // sval.y = 1.0f;
+        // sval.z = 1.0f;
+        // bloodText.transform.localScale = sval * scaleOffect;
+
+        // bloodText.text = text;
+        // this.TextMove(bloodText, crit);
+
         Vector3 pos = bloodText.transform.position;
         pos.x = x;
         pos.y = y;
         pos.z = 0;
         bloodText.transform.position = pos;
 
-        Vector3 sval = bloodText.transform.localScale;
-        sval.x = 1.0f;
-        sval.y = 1.0f;
-        sval.z = 1.0f;
-        bloodText.transform.localScale = sval * scaleOffect;
-
-        bloodText.text = text;
-        this.TextMove(bloodText, crit);
+        Sequence sequence = DOTween.Sequence();
+        bloodText.color = new Color(1f, 1f, 1f, 0.8f);
+        sequence.Join(DOTween.To(() => bloodText.transform.position, (Vector3 v) => bloodText.transform.position = v,
+            new Vector3(bloodText.transform.position.x + 20, bloodText.transform.position.y + 80, bloodText.transform.position.z), 0.2f));
+        sequence.Append(DOTween.To(() => bloodText.color, (Color v) => bloodText.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart));
+        sequence.Append(DOTween.To(() => bloodText.color, (Color v) => bloodText.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(0.5f));
+        sequence.AppendCallback(() => { DestroyWord(); });
     }
 
     /// <summary>
@@ -58,38 +60,36 @@
     /// <param name="y"></param>
     public void FloatSlowDownWord(float x, float y)
     {
-        // 先设置Text的位置到一个标准位置
         Vector3 pos = SlowDownWord.transform.position;
         pos.x = x;
         pos.y = y;
         pos.z = 0;
         SlowDownWord.transform.position = pos;
 
-        Vector3 sval = SlowDownWord.transform.localScale;
-        sval.x = 1.0f;
-        sval.y = 1.0f;
-        sval.z = 1.0f;
-        SlowDownWord.transform.localScale = sval * scaleOffect;
-
-        WordMove(SlowDownWord);
+        Sequence sequence = DOTween.Sequence();
+        SlowDownWord.color = new Color(1f, 1f, 1f, 0.8f);
+        sequence.Join(DOTween.To(() => SlowDownWord.transform.position, (Vector3 v) => SlowDownWord.transform.position = v,
+            new Vector3(SlowDownWord.transform.position.x + 50 + UnityEngine.Random.Range(-15, 15), SlowDownWord.transform.position.y + 50 + UnityEngine.Random.Range(-15, 15), SlowDownWord.transform.position.z), 0.2f));
+        sequence.Append(DOTween.To(() => SlowDownWord.color, (Color v) => SlowDownWord.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart));
+        sequence.Append(DOTween.To(() => SlowDownWord.color, (Color v) => SlowDownWord.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(0.5f));
+        sequence.AppendCallback(() => { DestroyWord(); });
     }
 
     public void FloatCritWord(float x, float y)
     {
-        // 先设置Text的位置到一个标准位置
         Vector3 pos = CritWord.transform.position;
         pos.x = x;
         pos.y = y;
         pos.z = 0;
         CritWord.transform.position = pos;
 
-        Vector3 sval = CritWord.transform.localScale;
-        sval.x = 1.0f;
-        sval.y = 1.0f;
-        sval.z = 1.0f;
-        CritWord.transform.localScale = sval * scaleOffect;
-
-        WordMove(CritWord, true);
+        Sequence sequence = DOTween.Sequence();
+        CritWord.color = new Color(1f, 1f, 1f, 0.8f);
+        sequence.Join(DOTween.To(() => CritWord.transform.position, (Vector3 v) => CritWord.transform.position = v,
+            new Vector3(CritWord.transform.position.x + 65, CritWord.transform.position.y + 25, CritWord.transform.position.z), 0.2f));
+        sequence.Append(DOTween.To(() => CritWord.color, (Color v) => CritWord.color = v, new Color(1f, 1f, 1f, 1f), 0.2f).SetEase(Ease.OutQuart));
+        sequence.Append(DOTween.To(() => CritWord.color, (Color v) => CritWord.color = v, new Color(1f, 1f, 1f, 0f), 0.3f).SetDelay(0.5f));
+        sequence.AppendCallback(() => { DestroyWord(); });
     }
 
     private void WordMove(Graphic graphic, bool crit = false)

--
Gitblit v1.9.1