| using UnityEngine; | 
| using UnityEngine.UI; | 
| using System.Collections.Generic; | 
| using DG.Tweening; | 
|   | 
| public class HeroAwakeCell : MonoBehaviour | 
| { | 
|     [SerializeField] UIEffectPlayer fireEffect; | 
|     [SerializeField] Image selectImg; | 
|     [SerializeField] Image bgImg; | 
|     [SerializeField] Image attrTypeImg; | 
|     [SerializeField] Text attrText; | 
|     [SerializeField] UIEffectPlayer activeEffect; | 
|     [SerializeField] Text awakeLVText; | 
|     [SerializeField] Image lineImg; | 
|   | 
|   | 
|     public void Display(HeroInfo hero, int awakeLV) | 
|     { | 
|         var config = HeroAwakeConfig.GetHeroAwakeConfig(hero.heroId, awakeLV); | 
|         if (hero.awakeLevel < awakeLV) | 
|         { | 
|             //未激活 | 
|             fireEffect.Stop(); | 
|             selectImg.SetActive(hero.awakeLevel + 1 == awakeLV); | 
|         } | 
|         else | 
|         { | 
|             fireEffect.Play(); | 
|             selectImg.SetActive(false); | 
|         } | 
|   | 
|         //特殊显示火特效的情况 | 
|         if (hero.talentAwakeRandomIDList.Count != 0 || | 
|         (hero.awakeLevel != 0 && hero.awakeLevel % 6 == 0 && UIManager.Instance.IsOpened<HeroAwakeSuccessWin>())) | 
|         { | 
|             fireEffect.Play(); | 
|         } | 
|   | 
|   | 
|         //1 天赋 2技能 3属性 | 
|         int type = config.UnlockTalentSlot != 0 ? 1 : config.SkillID != 0 ? 2 : 3; | 
|         attrTypeImg.SetSprite("heroattrtype" + type); | 
|         bgImg.SetSprite("heroawakebg" + type); | 
|         if (type == 1) | 
|         { | 
|             attrText.text = UIHelper.AppendColor(hero.awakeLevel >= awakeLV ? TextColType.Green : TextColType.NavyGray, Language.Get("HeroAwake4"), false); | 
|         } | 
|         else if (type == 2) | 
|         { | 
|             attrText.text = UIHelper.AppendColor(hero.awakeLevel >= awakeLV ? TextColType.Green : TextColType.NavyGray, Language.Get("herocard16"), false); | 
|         } | 
|         else | 
|         { | 
|             string attrStr = ""; | 
|             for (int i = 0; i < config.AttrIDList.Length; i++) | 
|             { | 
|                 attrStr += PlayerPropertyConfig.GetFullDescription(config.AttrIDList[i], config.AttrValueList[i]) + | 
|                     (i == config.AttrIDList.Length - 1 ? "" : "\n"); | 
|             } | 
|             attrText.text = UIHelper.AppendColor(hero.awakeLevel >= awakeLV ? TextColType.Green : TextColType.NavyGray, attrStr, false); | 
|         } | 
|         awakeLVText.text = awakeLV.ToString(); | 
|         lineImg.SetActive(hero.awakeLevel >= awakeLV); | 
|         if (hero.awakeLevel == awakeLV) | 
|         { | 
|             //lineImg.fillAmount逐渐从0到1 | 
|             lineImg.fillAmount = 0; | 
|             lineImg.DOFillAmount(1, 0.5f).SetEase(Ease.InQuad); | 
|         } | 
|     } | 
|   | 
|     public void ShowActiveEffect(HeroInfo hero, int awakeLV) | 
|     { | 
|         var config = HeroAwakeConfig.GetHeroAwakeConfig(hero.heroId, awakeLV); | 
|         //1 天赋 2技能 3属性 | 
|         int type = config.UnlockTalentSlot != 0 ? 1 : config.SkillID != 0 ? 2 : 3; | 
|         if (type != 3) | 
|             return; | 
|   | 
|         if (hero.awakeLevel + 1 == awakeLV) | 
|         {  | 
|             activeEffect.Play(); | 
|         } | 
|     } | 
| } |