using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using System; using DG.Tweening; /** * 无尽模式选择buff * @Author: chenxin * @Date: 2020-10-15 17:00:26 */ namespace KTGMGemClient { public class SelectBuffIcon : MonoBehaviour { public Image Icon; /// /// 边框 /// public Image BorderImage; /// /// 品质底图 /// public Image QualityImage; /// /// buff名称 /// public Text Name; /// /// 效果描述 /// public Text Effect; public event Action OnSelectBuffCompleted; /// /// 选择的索引 /// public int Index; /// /// 是否被选中 /// public bool IsSelected { get; set; } private string iconPath = "UI/Endless/BuffIcon/"; private string qualityPath = "UI/Endless/BuffQuality/"; private void Start() { } public void OnClick() { if (OnSelectBuffCompleted != null) OnSelectBuffCompleted(Index); } public void SetIcon(int resId) { Icon.sprite = Resources.Load($"{iconPath}{resId}", typeof(Sprite)) as Sprite; } /// /// 设置buff品质 /// /// public void SetQuality(int quality) { QualityImage.sprite = Resources.Load($"{qualityPath}{quality}", typeof(Sprite)) as Sprite; } public void SetName(string buffName) { Name.text = buffName; } /// /// 设置buff效果描述 /// /// public void SetEffect(string effect) { Effect.text = effect; } /// /// 设置品级 /// /// public void SetRare(int rare) { Name.color = EndlessBuffData.GetColorByRare(rare); } /// /// 设置选中状态,做个缓动播放粒子特效 /// /// 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); } /// /// 重置 /// public void Reset() { transform.localScale = new Vector3(0.87f, 0.87f, 0.87f); } } }