yyl
2025-12-09 bddf4df7cbb292011a974b705d6f6d94c0ac6cc1
Main/System/HeroUI/HeroUIManager.cs
@@ -467,12 +467,19 @@
    // 主线上阵武将才需要提醒  觉醒>升星>突破>升级
    public int GetFuncState(HeroInfo hero)
    {
        if (!hero.isAttrActive)
            return 0;
        var heroCnt = PackManager.Instance.GetItemCountByID(PackType.Hero, hero.heroId);
        if (!hero.IsInTeamByTeamType(TeamType.Story))
        {
            if (hero.heroStar < hero.GetCurMaxStar() && heroCnt > 1)
            {
                return 2;
            }
            return 0;
        }
        var heroCnt = PackManager.Instance.GetItemCountByID(PackType.Hero, hero.heroId);
        var itemPack = PackManager.Instance.GetSinglePack(PackType.Item);
        //5星后才能觉醒
        if (hero.heroStar < starLevelCanAwake)
@@ -493,7 +500,10 @@
            }
        }
        if (heroCnt > 1) return 2;
        if (hero.heroStar < hero.GetCurMaxStar() && heroCnt > 1)
        {
            return 2;
        }
        var maxBreakLV = HeroBreakConfig.GetMaxBreakLv(hero.heroId);
        if (hero.breakLevel < maxBreakLV)
@@ -526,6 +536,8 @@
    List<Redpoint> heroOnTeamRedpointList = new List<Redpoint>();   //上阵的武将红点
    List<Redpoint> heroBookRedpointList = new List<Redpoint>(); //图鉴所有武将红点
    //生效未上阵的 可吞噬的共用一个红点
    Redpoint heroEatRedPoint = new Redpoint(MainRedDot.HeroCardRedpoint, MainRedDot.HeroCardRedpoint * 10 + 8);
    //新标识的红点 所有武将统一个
    Redpoint newMarkRedPoint = new Redpoint(MainRedDot.HeroCardRedpoint, MainRedDot.HeroCardRedpoint * 10 + 9);
    void InitHeroOnTeamRedpointList()
@@ -566,6 +578,27 @@
        }
        newMarkRedPoint.state = newHeroIDList.Count > 0 ? RedPointState.New : RedPointState.None;
        heroEatRedPoint.state = RedPointState.None;
        var _list = HeroManager.Instance.GetHeroList();
        foreach (var hero in _list)
        {
            if (!hero.isAttrActive)
            {
                continue;
            }
            if (hero.heroStar >= hero.GetCurMaxStar())
            {
                continue;
            }
            if (HeroManager.Instance.GetHeroCountByID(hero.heroId) > 1)
            {
                heroEatRedPoint.state = RedPointState.Simple;
                break;
            }
        }
    }