From 5141bbd8376181e45368fd4c257b2265e703f3b7 Mon Sep 17 00:00:00 2001
From: chenxin <chenxin6991@163.com>
Date: Fri, 30 Oct 2020 11:46:29 +0800
Subject: [PATCH] 选择buff点击选中特效

---
 Assets/Scripts/TowerDefense/UI/EndlessBuffSelect.cs |   33 +++++++++++++++++++++++++++------
 1 files changed, 27 insertions(+), 6 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/EndlessBuffSelect.cs b/Assets/Scripts/TowerDefense/UI/EndlessBuffSelect.cs
index a657698..a79d808 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessBuffSelect.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessBuffSelect.cs
@@ -32,6 +32,10 @@
 
         public Button SelectBtn;
 
+        public GameObject EffectObj;
+
+        private Vector3[] effectPosArr = { new Vector3(-21.6f, 73.4f, 5.5f), new Vector3(0, 73.4f, 5.5f), new Vector3(21.6f, 73.4f, 5.5f) };
+
         // Start is called before the first frame update
         private void Start()
         {
@@ -43,12 +47,7 @@
             SelectBtn.onClick.AddListener(OnClickSelectBtn);
         }
 
-        private void OnDisable()
-        {
-            Reset();
-        }
-
-        private void Reset()
+        private void OnEnable()
         {
             isCompleted = false;
             SelectedIndex = -1;
@@ -57,6 +56,8 @@
             {
                 IconList[i].Reset();
             }
+
+            EndlessMaskUI.instance.Show();
         }
 
         public void OnClick(int index)
@@ -66,10 +67,28 @@
 
             // 如果已经选择过了,设置一个之前选择的item
             if (SelectedIndex != -1)
+            {
                 IconList[SelectedIndex].SetState(false);
+
+            }
 
             SelectedIndex = index;
             IconList[index].SetState(true);
+            PlayEffect();
+        }
+
+        private void PlayEffect()
+        {
+            EffectObj.transform.localPosition = effectPosArr[SelectedIndex];
+            ParticleSystem ps = EffectObj.transform.GetChild(0).GetComponent<ParticleSystem>();
+            ps.Play();
+        }
+
+        private void StopEffect()
+        {
+            ParticleSystem ps = EffectObj.transform.GetChild(0).GetComponent<ParticleSystem>();
+            ps.Stop();
+            ps.Clear();
         }
 
         /// <summary>
@@ -94,6 +113,8 @@
 
         public void HideBuffUI()
         {
+            EndlessMaskUI.instance.Hide();
+            StopEffect();
             gameObject.SetActive(false);
         }
 

--
Gitblit v1.9.1