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