using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; /// /// 武将觉醒总览界面 /// public class HeroAwakePrivewWin : UIBase { [SerializeField] ScrollRect scrollRect; [SerializeField] GameObject descCell; //用于创建 [SerializeField] Transform awakeCellParent; //潜能父节点 List awakeCellList; //觉醒 protected override void InitComponent() { awakeCellList = new List(); } protected override void OnPreOpen() { scrollRect.verticalNormalizedPosition = 1; Display(); } protected override void OnPreClose() { } public void Display() { var hero = HeroManager.Instance.GetHero(HeroUIManager.Instance.selectAwakeHeroGuid); if (hero == null) return; descCell.SetActive(false); var maxLV = HeroAwakeConfig.GetMaxAwakeLV(hero.heroId); var starCnt = HeroQualityConfig.Get(hero.Quality).InitStarUpper; for (int i = 1; i <= maxLV; i++) { if (i > awakeCellList.Count) { awakeCellList.Add(Instantiate(descCell, awakeCellParent)); } var go = awakeCellList[i - 1]; var descText = go.GetComponent(); var nameText = go.GetComponent("skillname"); go.SetActive(true); var config = HeroAwakeConfig.GetHeroAwakeConfig(hero.heroId, i); int type = config.UnlockTalentSlot != 0 ? 1 : config.SkillID != 0 ? 2 : 3; var awakeStr = string.Empty; if (type == 1) { starCnt += config.AddStarUpper; awakeStr = Language.Get("HeroAwake8", config.UnlockTalentSlot, starCnt); } else if (type == 2) { var skill = SkillConfig.Get(config.SkillID); awakeStr = Language.Get("equipQualityFormat", skill.SkillName) + skill.Description; } else { for (int k = 0; k < config.AttrIDList.Length; k++) { awakeStr += (string.IsNullOrEmpty(config.SkillIName) ? string.Empty : Language.Get("equipQualityFormat", config.SkillIName)) +PlayerPropertyConfig.GetFullDescription(config.AttrIDList[k], config.AttrValueList[k], "{0}+" + UIHelper.AppendColor(TextColType.Green, "{1}")) + (k == config.AttrIDList.Length - 1 ? "" : "\n"); } } if (i - 1 < hero.awakeLevel) { nameText.text = Language.Get("herocard12", i) + Language.Get("L1096"); descText.text = awakeStr; } else { //置灰 nameText.text = UIHelper.AppendColor(TextColType.NavyGray, Language.Get("herocard12", i) + Language.Get("L1096")); descText.text = UIHelper.AppendColor(TextColType.NavyGray, UIHelper.RemoveColor(awakeStr)); } } } }