hch
2025-08-11 1f7675733af28f2cdf393956705de0d399e9be10
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
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;
 
 
    string guid;
    HeroInfo hero;
 
 
    protected override void InitComponent()
    {
        okBtn.AddListener(CloseWindow);
    }
 
 
    protected override void OnPreOpen()
    {
        guid = HeroUIManager.Instance.waitResponse.guid;
        if (string.IsNullOrEmpty(guid))
            return;
        hero = HeroManager.Instance.GetHero(guid);
        Refresh();
    }
 
    protected override void OnPreClose()
    {
    }
 
 
    public override void Refresh()
    {
        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++)
        {
            attrStrArr.Add(PlayerPropertyConfig.GetFullDescription(nextQualityBreakConfig.AttrIDList[i], nextQualityBreakConfig.AttrValueList[i]));
        }
        if (nextQualityBreakConfig.SkillID != 0)
        {
            attrStrArr.Add(SkillConfig.Get(nextQualityBreakConfig.SkillID).Description);
        }
        potentialText.text = Language.Get("L1100", Language.Get("herocard56"), string.Join(Language.Get("L1112"), attrStrArr));
    }
 
}