yyl
2025-09-11 c3525dadcaa037816b654a6bb706284bbbf51af3
Main/System/HeroUI/HeroTrainWin.cs
@@ -88,6 +88,11 @@
    [SerializeField] Text freezeAawkeLVText;
    [SerializeField] List<Image> starImgFreezeList;
    //伪红点用图片代替
    [SerializeField] Image redpointAwake;
    [SerializeField] Image redpointGift;
    [SerializeField] Image redpointLVUP;
    string guid;
    HeroInfo hero;
@@ -242,6 +247,9 @@
        RefreshGift();
        RefreshAwake();
        RefreshFreeze();
        RefreshRedImg();
        HeroUIManager.Instance.RemoveNewHero(hero.heroId);
    }
    void RefreshItemLockEvent(PackType type, string guid, bool lockState)
@@ -716,4 +724,62 @@
        
        freezeTipGo.SetActive(false);
    }
    void RefreshRedImg()
    {
        redpointAwake.SetActive(false);
        redpointGift.SetActive(false);
        redpointLVUP.SetActive(false);
        if (!hero.IsInTeamByTeamType(TeamType.Story))
        {
            return;
        }
        var heroCnt = PackManager.Instance.GetItemCountByID(PackType.Hero, hero.heroId);
        var itemPack = PackManager.Instance.GetSinglePack(PackType.Item);
        //5星后才能觉醒
        if (hero.heroStar >= HeroUIManager.Instance.starLevelCanAwake)
        {
            //判断觉醒材料是否足够
            var maxAwakeLV = HeroAwakeConfig.GetMaxAwakeLV(hero.heroId);
            if (hero.awakeLevel < maxAwakeLV)
            {
                var config = HeroQualityAwakeConfig.GetQualityAwakeConfig(hero.Quality, hero.awakeLevel);
                if (itemPack.GetCountById(config.UPCostItem[0]) >= config.UPCostItem[1])
                {
                    redpointAwake.SetActive(true);
                }
            }
        }
        if (heroCnt > 1)
        {
            redpointGift.SetActive(true);
        }
        var maxBreakLV = HeroBreakConfig.GetMaxBreakLv(hero.heroId);
        if (hero.breakLevel < maxBreakLV)
        {
            if (HeroUIManager.Instance.IsLVMaxByBreakLevel(hero))
            {
                var breakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel);
                if (itemPack.GetCountById(breakConfig.UPCostItem[0]) >= breakConfig.UPCostItem[1])
                {
                    redpointLVUP.SetActive(true);
                    return;
                }
            }
        }
        if (!HeroUIManager.Instance.IsLVMax(hero))
        {
            var lvupConfig = HeroQualityLVConfig.GetQualityLVConfig(hero.Quality, hero.heroLevel);
            if (itemPack.GetCountById(lvupConfig.UPCostItem[0]) >= lvupConfig.UPCostItem[1])
            {
                redpointLVUP.SetActive(true);
            }
        }
    }
}