262 幻境阁系统-客户端 新增仅适用武将解锁的头像和形象的红点移除规则

1.关闭界面时移除对应标签页的红点
2.切换标签页时,立即移除上一个浏览过的标签页的红点
3个文件已修改
69 ■■■■ 已修改文件
Main/System/PhantasmPavilion/PhantasmPavilionFaceWin.cs 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/PhantasmPavilion/PhantasmPavilionModelWin.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/PhantasmPavilion/PhantasmPavilionFaceWin.cs
@@ -66,9 +66,9 @@
    protected override void InitComponent()
    {
        base.InitComponent();
        btnFace.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Face); });
        btnFacePic.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.FacePic); });
        btnChatBox.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.ChatBox); });
        btnFace.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Face, true); });
        btnFacePic.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.FacePic, true); });
        btnChatBox.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.ChatBox, true); });
        btnAllAdd.AddListener(() => { AttributeManager.Instance.OpenTotalAttributeWin(manager.GetTotalAttr()); });
    }
@@ -106,6 +106,9 @@
        manager.OnUpdateFaceInfoEvent -= OnUpdateFaceInfoEvent;
        manager.OnUpdateFacePicInfo -= OnUpdateFacePicInfo;
        manager.OnTimeOut -= OnTimeOut;
        manager.RemoveAllNewHeroByTabType(PhantasmPavilionType.Face, functionOrder + 1);
        manager.UpdateRedPoint();
    }
    private void OnTimeOut()
@@ -153,9 +156,15 @@
        }
    }
    void SelectTeamFunc(PhantasmPavilionType type)
    void SelectTeamFunc(PhantasmPavilionType type, bool isRemove = false)
    {
        manager.SetSelectItemId(type);
        if (isRemove)
        {
            manager.RemoveAllNewHeroByTabType(manager.nowType);
            manager.UpdateRedPoint();
            RefreshAll(manager.nowType, false);
        }
        manager.nowType = type;
        CreateAll(type);
    }
Main/System/PhantasmPavilion/PhantasmPavilionManager.Redpoint.cs
@@ -182,7 +182,31 @@
        UpdateRedPoint();
    }
    public void RemoveNewHero(PhantasmPavilionType type, int id)
    public void RemoveAllNewHeroByTabType(PhantasmPavilionType type, int tabType = 0)
    {
        List<int> list = null;
        switch (type)
        {
            case PhantasmPavilionType.Model:
                list = ShowItemList(type, tabType);
                break;
            case PhantasmPavilionType.Face:
                list = GetTableKeys(type);
                break;
            default:
                return;
        }
        if (list.IsNullOrEmpty())
            return;
        foreach (var id in list)
        {
            RemoveNewHero(type, id, false);
        }
        SaveLocal();
    }
    public void RemoveNewHero(PhantasmPavilionType type, int id, bool isSave = true)
    {
        if (!Has(type, id))
            return;
@@ -194,20 +218,23 @@
        switch (type)
        {
            case PhantasmPavilionType.Model:
                RemoveNewHero(newHeroIDModelList, unlockValue);
                RemoveNewHero(newHeroIDModelList, unlockValue, isSave);
                break;
            case PhantasmPavilionType.Face:
                RemoveNewHero(newHeroIDFaceList, unlockValue);
                RemoveNewHero(newHeroIDFaceList, unlockValue, isSave);
                break;
        }
    }
    void RemoveNewHero(List<int> list, int heroID)
    void RemoveNewHero(List<int> list, int heroID, bool isSave = true)
    {
        if (!list.Contains(heroID))
            return;
        list.Remove(heroID);
        SaveLocal();
        if (isSave)
        {
            SaveLocal();
        }
        UpdateRedPoint();
    }
Main/System/PhantasmPavilion/PhantasmPavilionModelWin.cs
@@ -43,8 +43,8 @@
    protected override void InitComponent()
    {
        base.InitComponent();
        btnTabType1.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Model, 0); });
        btnTabType2.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Model, 1); });
        btnTabType1.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Model, 0, true); });
        btnTabType2.AddListener(() => { SelectTeamFunc(PhantasmPavilionType.Model, 1, true); });
        btnAllAdd.AddListener(() => { AttributeManager.Instance.OpenTotalAttributeWin(manager.GetTotalAttr()); });
    }
@@ -77,6 +77,9 @@
        manager.OnUpdateModelInfoEvent -= OnUpdateModelInfoEvent;
        manager.OnTimeOut -= OnTimeOut;
        manager.OnUpdateModelStarAdd -= OnUpdateModelStarAdd;
        manager.RemoveAllNewHeroByTabType(PhantasmPavilionType.Model, functionOrder + 1);
        manager.UpdateRedPoint();
    }
    private void OnTimeOut()
@@ -107,9 +110,15 @@
        SelectTeamFunc(PhantasmPavilionType.Model, 0);
    }
    void SelectTeamFunc(PhantasmPavilionType type, int order)
    void SelectTeamFunc(PhantasmPavilionType type, int order, bool isRemove = false)
    {
        manager.SetSelectItemId(type, order + 1);
        if (isRemove)
        {
            manager.RemoveAllNewHeroByTabType(manager.nowType, functionOrder + 1);
            manager.UpdateRedPoint();
            RefreshAll(manager.nowType, functionOrder + 1, false);
        }
        manager.nowType = type;
        functionOrder = order;
        CreateAll();