From 452c75675679c44cc39b04bdb7d330d7c5c14d5c Mon Sep 17 00:00:00 2001
From: wangguan <wangguan@kt007.com>
Date: Tue, 29 Dec 2020 10:48:06 +0800
Subject: [PATCH] 增加多SDK支持。常规使用SDKChannel.KTGM 偶哈游的是空SDK

---
 Assets/Scripts/TowerDefense/UI/EndlessBuffSelect.cs |   62 ++++++++++++++++++++++++++----
 1 files changed, 53 insertions(+), 9 deletions(-)

diff --git a/Assets/Scripts/TowerDefense/UI/EndlessBuffSelect.cs b/Assets/Scripts/TowerDefense/UI/EndlessBuffSelect.cs
index 50cadb4..8c88a41 100644
--- a/Assets/Scripts/TowerDefense/UI/EndlessBuffSelect.cs
+++ b/Assets/Scripts/TowerDefense/UI/EndlessBuffSelect.cs
@@ -16,13 +16,6 @@
     {
         public List<SelectBuffIcon> IconList;
 
-        private string iconPath = "UI/Endless/BuffIcon/BuffIcon_";
-
-        /// <summary>
-        /// buff是否选中完成
-        /// </summary>
-        private bool isCompleted;
-
         public event Action<int> BuffSelectCompleted;
 
         /// <summary>
@@ -31,6 +24,12 @@
         private int SelectedIndex = -1;
 
         public Button SelectBtn;
+
+        public GameObject EffectPrefabObject;
+
+        private GameObject effectObj;
+
+        private Vector3[] effectPosArr = { new Vector3(-21.6f, 0, 6.6f), new Vector3(0, 0, 6.6f), new Vector3(21.6f, 0, 6.6f) };
 
         // Start is called before the first frame update
         private void Start()
@@ -45,13 +44,19 @@
 
         private void OnEnable()
         {
-            isCompleted = false;
             SelectedIndex = -1;
 
             for (int i = 0; i < IconList.Count; ++i)
             {
                 IconList[i].Reset();
             }
+
+        }
+
+        private void OnDisable()
+        {
+            if (effectObj != null)
+                Destroy(effectObj);
         }
 
         public void OnClick(int index)
@@ -65,6 +70,33 @@
 
             SelectedIndex = index;
             IconList[index].SetState(true);
+
+            //PlayEffect();
+        }
+
+
+        private void PlayEffect()
+        {
+            if (effectObj == null)
+            {
+                effectObj = Instantiate(EffectPrefabObject);
+                GameObject particleSystemObject = GameObject.Find("ParticleSystemObject");
+                effectObj.transform.SetParent(particleSystemObject.transform, false);
+                effectObj.transform.localScale = new Vector3(1.5f, 1.5f, 1.5f);
+            }
+            effectObj.transform.localPosition = effectPosArr[SelectedIndex];
+            ParticleSystem ps = effectObj.transform.GetChild(0).GetComponent<ParticleSystem>();
+            ps.Play();
+        }
+
+        private void StopEffect()
+        {
+            if (effectObj != null)
+            {
+                ParticleSystem ps = effectObj.transform.GetChild(0).GetComponent<ParticleSystem>();
+                ps.Stop();
+                ps.Clear();
+            }
         }
 
         /// <summary>
@@ -74,19 +106,30 @@
         {
             if (SelectedIndex == -1) return;
 
+            int index = SelectedIndex;
+
+            AudioSourceManager.Ins.Play(AudioEnum.UI);
+
             HideBuffUI();
 
+            IconList[index].Fly();
+            EndlessRandomTower.instance.SetCountDown(true,true);
+
             if (BuffSelectCompleted != null)
-                BuffSelectCompleted(SelectedIndex);
+                BuffSelectCompleted(index);
         }
 
         public void ShowBuffUI()
         {
+            EndlessMaskUI.instance.Show();
             gameObject.SetActive(true);
+            AudioSourceManager.Ins?.Play(AudioEnum.ChooseBuff);
         }
 
         public void HideBuffUI()
         {
+            EndlessMaskUI.instance.Hide();
+            StopEffect();
             gameObject.SetActive(false);
         }
 
@@ -99,6 +142,7 @@
                 IconList[i].SetName(list[i].Config.name);
                 IconList[i].SetEffect(list[i].Config.brief);
                 IconList[i].SetRare(list[i].Config.rare);
+                IconList[i].SetIsGold(list[i].EffectType == EndlessBuffEffectType.GoldAdd);
             }
         }
     }

--
Gitblit v1.9.1