From 74daf5509be4fc140fd1bdb6d4df5f1c1002e368 Mon Sep 17 00:00:00 2001 From: wangguan <wangguan@kt007.com> Date: Thu, 22 Oct 2020 17:28:08 +0800 Subject: [PATCH] Merge branch 'master' of ssh://172.16.1.52:8091/GemBattle --- Assets/Scripts/TowerDefense/UI/HUD/SelectBuffIcon.cs | 87 +++++++++++++++++++++++++++++-------------- 1 files changed, 59 insertions(+), 28 deletions(-) diff --git a/Assets/Scripts/TowerDefense/UI/HUD/SelectBuffIcon.cs b/Assets/Scripts/TowerDefense/UI/HUD/SelectBuffIcon.cs index 7ef97db..c51a8d2 100644 --- a/Assets/Scripts/TowerDefense/UI/HUD/SelectBuffIcon.cs +++ b/Assets/Scripts/TowerDefense/UI/HUD/SelectBuffIcon.cs @@ -3,6 +3,7 @@ using UnityEngine; using UnityEngine.UI; using System; +using DG.Tweening; /** * 无尽模式选择buff @@ -15,12 +16,24 @@ { public Image Icon; - public Image BgMask; + /// <summary> + /// 边框 + /// </summary> + public Image BorderImage; - public Image Check; + /// <summary> + /// 品质底图 + /// </summary> + public Image QualityImage; + /// <summary> + /// buff名称 + /// </summary> public Text Name; + /// <summary> + /// 效果描述 + /// </summary> public Text Effect; public event Action<int> OnSelectBuffCompleted; @@ -30,33 +43,18 @@ /// </summary> public int Index; + /// <summary> + /// 是否被选中 + /// </summary> + public bool IsSelected { get; set; } + + private string iconPath = "UI/Endless/BuffIcon/"; + + private string qualityPath = "UI/Endless/BuffQuality/"; + private void Start() { - SetState(EndlessBuffSelectState.Normal); - } - /// <summary> - /// 设置选中状态 - /// </summary> - /// <param name="state"></param> - public void SetState(EndlessBuffSelectState state) - { - switch (state) - { - case EndlessBuffSelectState.Normal: - Check.gameObject.SetActive(false); - BgMask.gameObject.SetActive(false); - - break; - case EndlessBuffSelectState.Unselected: - Check.gameObject.SetActive(false); - BgMask.gameObject.SetActive(true); - break; - case EndlessBuffSelectState.Selected: - Check.gameObject.SetActive(true); - BgMask.gameObject.SetActive(false); - break; - } } public void OnClick() @@ -65,9 +63,18 @@ OnSelectBuffCompleted(Index); } - public void SetIcon(Sprite param) + public void SetIcon(int resId) { - Icon.sprite = param; + Icon.sprite = Resources.Load($"{iconPath}{resId}", typeof(Sprite)) as Sprite; + } + + /// <summary> + /// 设置buff品质 + /// </summary> + /// <param name="quality"></param> + public void SetQuality(int quality) + { + QualityImage.sprite = Resources.Load($"{qualityPath}{quality}", typeof(Sprite)) as Sprite; } public void SetName(string buffName) @@ -92,5 +99,29 @@ { Name.color = EndlessBuffData.GetColorByRare(rare); } + + /// <summary> + /// 设置选中状态,做个缓动播放粒子特效 + /// </summary> + /// <param name="isSelected"></param> + public void SetState(bool selected) + { + if (selected == IsSelected) return; + + IsSelected = selected; + + if (selected) + DOTween.To(() => transform.localScale, (v) => transform.localScale = v, new Vector3(1f, 1f, 1f), 0.15f); + else + DOTween.To(() => transform.localScale, (v) => transform.localScale = v, new Vector3(0.87f, 0.87f, 0.87f), 0.15f); + } + + /// <summary> + /// 重置 + /// </summary> + public void Reset() + { + transform.localScale = new Vector3(0.87f, 0.87f, 0.87f); + } } } \ No newline at end of file -- Gitblit v1.9.1