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