lcy
9 小时以前 16dba0ff4d2eed7f5a4a7c37640f158ee9f73d8c
Main/System/HeroUI/HeroUIManager.cs
@@ -43,6 +43,7 @@
        PackManager.Instance.RefreshItemEvent += RefreshItemEvent;
        TeamManager.Instance.OnTeamChange += OnTeamChangeEvent;
        QuickSetting.Instance.onQuickSettingUpdate += OnQuickSettingUpdate;
        TimeMgr.Instance.OnDayEvent += OnDayEvent;
        ParseConfig();
        InitHeroOnTeamRedpointList();
        InitHerosData();
@@ -58,6 +59,7 @@
        PackManager.Instance.RefreshItemEvent -= RefreshItemEvent;
        TeamManager.Instance.OnTeamChange -= OnTeamChangeEvent;
        QuickSetting.Instance.onQuickSettingUpdate -= OnQuickSettingUpdate;
        TimeMgr.Instance.OnDayEvent -= OnDayEvent;
    }
    void ParseConfig()
@@ -744,7 +746,7 @@
        return false;
    }
    void UpdateHeroBookRedpoint()
    public void UpdateHeroBookRedpoint()
    {
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Hero))
            return;
@@ -777,6 +779,14 @@
            UpdateHeroCardRedpoint();
            refreshRedPoint = false;
        }
    }
    void OnDayEvent()
    {
        // 过天时 OpenDay 可能变化,需要刷新红点
        UpdateHeroCardRedpoint();
        UpdateHeroCardSkinRedpoint();
        UpdateHeroBookRedpoint();
    }
    void RefreshItemEvent(PackType packType, int index, int itemID)
@@ -864,6 +874,10 @@
        var config = HeroConfig.Get(heroID);
        for (int i = 0; i < config.SkinIDList.Length; i++)
        {
            // 默认皮肤(索引0)始终参与红点计算;非默认皮肤需满足 OpenDay 才参与
            if (i > 0 && !IsSkinOpenDayMet(config.SkinIDList[i]))
                continue;
            var state = HeroSkinStateForRedpoint(config.SkinIDList[i], isBook);
            if (isBook && state == 2)
            {