From 963bfbdf8c3640249a396e32d0f36bf2554388c2 Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Thu, 17 Dec 2020 14:32:56 +0800
Subject: [PATCH] Merge commit '82cc6bd447a9eefa2bdc1e21e93938d95213755a'

---
 Assets/Scripts/TowerDefense/UI/EndlessScoreManager.cs |   55 ++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 32 insertions(+), 23 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/EndlessScoreManager.cs b/Assets/Scripts/TowerDefense/UI/EndlessScoreManager.cs
index 20b0c90..f8b98e3 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessScoreManager.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessScoreManager.cs
@@ -30,14 +30,15 @@
 
         public Text DoubleHitText;
 
-        public GameObject OneTimeKillObj;
+        public Image OneTimeKillObj;
+        private bool isShowing;
 
         public Text OneTimeKillText;
 
         /// <summary>
         /// 连击的CD时间
         /// </summary>
-        private float doubleHitCD = 3f;
+        private float doubleHitCD = 0.8f;
 
         private float remainTime;
 
@@ -66,41 +67,41 @@
         // Start is called before the first frame update
         private void Start()
         {
+            isShowing = false;
             Init();
-            EventCenter.Ins.Add<Agent>((int)KTGMGemClient.EventType.EndlessAgentDead, AgentDead);
+            EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.EndlessAgentDead, AgentDead);
             EventCenter.Ins.Add((int)KTGMGemClient.EventType.EndlessOneHit, OnHit);
             EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.EndlessOneTimeKillCount, OnTimeKill);
             canvasGroup = DoubleHit.GetComponent<CanvasGroup>();
         }
 
         /// <summary>
-        /// 一次性击杀
+        /// /// 一次性击杀
         /// </summary>
         /// <param name="count"></param>
         private void OnTimeKill(int count)
         {
-            Debug.Log($"--------------------- 一次性击杀个数:{count} ---------------------");
             if (count >= 10)
             {
-                AddScore(500);
+                AddScore(0);
                 ShowOneTimeKill(10, 500);
             }
             else if (count >= 8)
             {
-                AddScore(200);
+                AddScore(0);
                 ShowOneTimeKill(8, 200);
             }
             else if (count >= 5)
             {
-                AddScore(100);
+                AddScore(0);
                 ShowOneTimeKill(5, 100);
             }
         }
 
-        private void AgentDead(Agent agent)
+        private void AgentDead(int point)
         {
             if (EndlessGameUI.instance.state == EndlessGameUI.State.GameOver) return;
-            AddScore(agent.EnemyData.point);
+            AddScore(point);
         }
 
         // Update is called once per frame
@@ -127,23 +128,24 @@
             ++DoubleHitCount;
             openDoubleHit = true;
             DoubleHitText.text = $"{DoubleHitCount}";
-            ShowDoubleHit();
+            if (DoubleHitCount >= 10)
+                ShowDoubleHit();
             remainTime = doubleHitCD;
 
             // 策划说先写死吧
             if (DoubleHitCount == 50)
             {
-                AddScore(200);
+                AddScore(0);
                 FloatDoubleHitReward(200);
             }
             else if (DoubleHitCount == 100)
             {
-                AddScore(500);
+                AddScore(0);
                 FloatDoubleHitReward(500);
             }
             else if (DoubleHitCount == 200)
             {
-                AddScore(1500);
+                AddScore(0);
                 FloatDoubleHitReward(1500);
             }
         }
@@ -173,6 +175,7 @@
             DOTween.To(() => canvasGroup.alpha, (float v) => canvasGroup.alpha = v, 0, 0.3f);
         }
 
+
         /// <summary>
         /// 显示一次性击杀飘字
         /// </summary>
@@ -180,18 +183,24 @@
         /// <param name="score"></param>
         private void ShowOneTimeKill(int count, int score)
         {
-            OneTimeKillText.text = $"{count}连杀 +{score}";
-            OneTimeKillObj.transform.localScale = Vector3.zero;
-            OneTimeKillObj.SetActive(true);
-            CanvasGroup cg = OneTimeKillObj.GetComponent<CanvasGroup>();
-            DOTween.To(() => OneTimeKillObj.transform.localScale, (Vector3 v) => OneTimeKillObj.transform.localScale = v, Vector3.one, 0.2f);
-            Tween t1 = DOTween.To(() => cg.alpha, (float v) => cg.alpha = v, 0f, 0.2f).SetDelay(2f);
-            t1.OnComplete(OnShowOneTimeKillComplete);
+            if (!isShowing)
+            {
+                isShowing = true;
+                Image obj = Instantiate(OneTimeKillObj);
+                obj.transform.SetParent(GameObject.Find("Panel").transform, false);
+                obj.sprite = Resources.Load<Sprite>($"UI/DoubleHit/hit_{count}");
+                StartCoroutine(KillImage(obj.gameObject));
+            }
+
+            //Destroy(obj.gameObject, 2.05f);
         }
 
-        private void OnShowOneTimeKillComplete()
+        IEnumerator KillImage(GameObject obj)
         {
-            OneTimeKillObj.SetActive(false);
+            yield return new WaitForSeconds(2.05f);
+            Destroy(obj);
+
+            isShowing = false;
         }
 
         /// <summary>

--
Gitblit v1.9.1