using System.Collections.Generic; 
 | 
using System.Linq; 
 | 
using UnityEngine; 
 | 
using UnityEngine.UI; 
 | 
  
 | 
  
 | 
/// <summary> 
 | 
/// 武将突破界面 
 | 
/// </summary> 
 | 
public class HeroLVBreakSuccessWin : UIBase 
 | 
{ 
 | 
  
 | 
    [SerializeField] Text breakLVText; 
 | 
    [SerializeField] Text nextBreakLVText; 
 | 
    [SerializeField] Text lvText; 
 | 
    [SerializeField] Text nextLVText; 
 | 
    [SerializeField] Text[] attrPerTextArr; 
 | 
    [SerializeField] Text[] nextAttrPerTextArr; 
 | 
    [SerializeField] Text potentialText; 
 | 
    [SerializeField] Button okBtn; 
 | 
    [SerializeField] ScrollRect scrollRect; 
 | 
  
 | 
    string guid; 
 | 
  
 | 
  
 | 
    protected override void InitComponent() 
 | 
    { 
 | 
        okBtn.AddListener(CloseWindow); 
 | 
    } 
 | 
  
 | 
  
 | 
    protected override void OnPreOpen() 
 | 
    { 
 | 
        guid = HeroUIManager.Instance.waitResponse.guid; 
 | 
        if (string.IsNullOrEmpty(guid)) 
 | 
            return; 
 | 
        Display(HeroManager.Instance.GetHero(guid)); 
 | 
        scrollRect.verticalNormalizedPosition = 1; 
 | 
    } 
 | 
  
 | 
    protected override void OnPreClose() 
 | 
    { 
 | 
    } 
 | 
  
 | 
  
 | 
    public void Display(HeroInfo hero) 
 | 
    { 
 | 
        breakLVText.text = "+" + (hero.breakLevel - 1); 
 | 
        nextBreakLVText.text = "+" + hero.breakLevel; 
 | 
        var beforeBreakLVConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel - 1); 
 | 
        lvText.text = beforeBreakLVConfig.LVMax.ToString(); 
 | 
  
 | 
        nextLVText.text = hero.qualityBreakConfig.LVMax.ToString(); 
 | 
  
 | 
        for (int i = 0; i < attrPerTextArr.Length; i++) 
 | 
        { 
 | 
            attrPerTextArr[i].text = PlayerPropertyConfig.GetValueDescription(PlayerPropertyConfig.basePerAttrs[i], 
 | 
            hero.qualityConfig.BreakLVAddPer * (hero.breakLevel - 1)); 
 | 
        } 
 | 
        for (int i = 0; i < nextAttrPerTextArr.Length; i++) 
 | 
        { 
 | 
            nextAttrPerTextArr[i].text = PlayerPropertyConfig.GetValueDescription(PlayerPropertyConfig.basePerAttrs[i], 
 | 
            hero.qualityConfig.BreakLVAddPer * hero.breakLevel); 
 | 
        } 
 | 
  
 | 
  
 | 
        var nextQualityBreakConfig = HeroBreakConfig.GetHeroBreakConfig(hero.heroId, hero.breakLevel); 
 | 
        if (nextQualityBreakConfig == null) 
 | 
        { 
 | 
            potentialText.text = ""; 
 | 
            return; 
 | 
        } 
 | 
        List<string> attrStrArr = new List<string>(); 
 | 
        for (int i = 0; i < nextQualityBreakConfig.AttrIDList.Length; i++) 
 | 
        { 
 | 
            var id = nextQualityBreakConfig.AttrIDList[i]; 
 | 
            if (id == 0) 
 | 
                continue; 
 | 
            attrStrArr.Add((string.IsNullOrEmpty(nextQualityBreakConfig.SkillIName) ? string.Empty : Language.Get("equipQualityFormat", nextQualityBreakConfig.SkillIName)) + 
 | 
            PlayerPropertyConfig.GetFullDescription(id, nextQualityBreakConfig.AttrValueList[i])); 
 | 
        } 
 | 
        if (nextQualityBreakConfig.SkillID != 0) 
 | 
        { 
 | 
            var skill = SkillConfig.Get(nextQualityBreakConfig.SkillID); 
 | 
            attrStrArr.Add(Language.Get("equipQualityFormat", skill.SkillName) + skill.Description); 
 | 
        } 
 | 
        potentialText.text = Language.Get("L1100", Language.Get("herocard56"), string.Join(Language.Get("L1112"), attrStrArr)); 
 | 
    } 
 | 
  
 | 
} 
 |