wangguan
2020-12-17 45faee0adf3b5bc2ac051c2a0e08bb4ecf738aac
Assets/Scripts/TowerDefense/UI/EndlessScoreManager.cs
@@ -31,6 +31,7 @@
        public Text DoubleHitText;
        public Image OneTimeKillObj;
        private bool isShowing;
        public Text OneTimeKillText;
@@ -66,6 +67,7 @@
        // Start is called before the first frame update
        private void Start()
        {
            isShowing = false;
            Init();
            EventCenter.Ins.Add<int>((int)KTGMGemClient.EventType.EndlessAgentDead, AgentDead);
            EventCenter.Ins.Add((int)KTGMGemClient.EventType.EndlessOneHit, OnHit);
@@ -74,25 +76,24 @@
        }
        /// <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);
            }
        }
@@ -134,17 +135,17 @@
            // 策划说先写死吧
            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);
            }
        }
@@ -174,6 +175,7 @@
            DOTween.To(() => canvasGroup.alpha, (float v) => canvasGroup.alpha = v, 0, 0.3f);
        }
        /// <summary>
        /// 显示一次性击杀飘字
        /// </summary>
@@ -181,22 +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);
            Image obj = Instantiate(OneTimeKillObj);
            obj.transform.SetParent(GameObject.Find("Panel").transform, false);
            obj.sprite = Resources.Load<Sprite>($"UI/DoubleHit/hit_{count}");
            Destroy(obj.gameObject, 0.59f);
            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, 2.05f);
            isShowing = false;
        }
        /// <summary>