lcy
2025-12-24 6b73bf71ed9b9c7a8f49043499a34bde7260c115
325 阵容推荐-客户端

1.阵容推荐增加功能开启限制,功能没开启前不显示入口
2.应用阵容添加二次确认提示框
3.布阵界面也增加阵容推荐入口,注:这里的阵容推荐入口红点,不影响布阵按钮红点,独立显示
5个文件已修改
72 ■■■■ 已修改文件
Main/System/HeroUI/HeroListWin.cs 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroPosWin.cs 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/LineupRecommend/LineupRecommendCell.cs 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/LineupRecommend/LineupRecommendManager.cs 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Utility/EnumHelper.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroListWin.cs
@@ -1,3 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
@@ -59,6 +60,7 @@
        // HeroManager.Instance.onHeroDeleteEvent += HeroDeleteEvent;
        HeroUIManager.Instance.SortHeroList();
        UIManager.Instance.OnOpenWindow += OnOpenWindow;
        FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
        // CreateScroller();
        Refresh();
        fiterManager.Display(0, SelectJobCountry);
@@ -73,8 +75,15 @@
        UIManager.Instance.OnCloseWindow -= OnCloseWindow;
        // HeroManager.Instance.onHeroDeleteEvent -= HeroDeleteEvent;
        UIManager.Instance.OnOpenWindow -= OnOpenWindow;
        FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
    }
    private void OnFuncStateChangeEvent(int obj)
    {
        if (obj != (int)FuncOpenEnum.LineupRecommend)
            return;
        DisplayLineupRecommend();
    }
    private void OnCloseWindow(UIBase closeUI)
    {
@@ -111,7 +120,7 @@
            HeroUIManager.Instance.isOpenHeroTip = true;
        }
    }
    int FindJumpIndexByHeroID(int heroID)
    {
@@ -137,7 +146,7 @@
        OnBattleTeamAttrPer();
        RefreshPackCount();
        DisplayLineupRecommend();
    }
@@ -241,7 +250,7 @@
        }
        heroListScroller.Restart();
        heroListScroller.lockType = EnhanceLockType.KeepVertical;
    }
    int GetAttrActiveHeroCount()
@@ -290,4 +299,10 @@
        RefreshPackCount();
    }
    public void DisplayLineupRecommend()
    {
        bool isOpen = FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.LineupRecommend);
        lineupRecommendBtn.SetActive(isOpen);
    }
}
Main/System/HeroUI/HeroPosWin.cs
@@ -43,6 +43,9 @@
    [SerializeField] HeroHeadBaseCell flyHead;
    [SerializeField] CanvasGroup flyAlphaTween;
    [SerializeField] ButtonEx lineupRecommendBtn; //阵容推荐
    Sequence sequence;
    CancellationTokenSource _cts;
    Queue<int> showConnectTipQueue = new Queue<int>();
@@ -105,6 +108,11 @@
            UIManager.Instance.OpenWindow<HeroFormationWin>();
        });
        lineupRecommendBtn.AddListener(() =>
        {
            UIManager.Instance.OpenWindow<LineupRecommendBaseWin>();
        });
        m_IsToggleOn = LocalSave.GetBool("ShowConn" + PlayerDatas.Instance.baseData.PlayerID, false);
        fiterManager = HeroSelectBehaviour.Create(heroSelectBehaviour);
    }
@@ -116,10 +124,12 @@
        heroListScroller.OnRefreshCell += OnRefreshCell;
        HeroUIManager.Instance.OnTeamPosChangeEvent += TeamChangeEvent;
        TeamManager.Instance.OnTeamChange += OnTeamChange;
        FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
        ShowFuncBtn();
        SelectTiltleBtn();
        // CreateScroller();
        Display();
        DisplayLineupRecommend();
    }
    protected override void OnPreClose()
@@ -128,7 +138,21 @@
        heroListScroller.OnRefreshCell -= OnRefreshCell;
        HeroUIManager.Instance.OnTeamPosChangeEvent -= TeamChangeEvent;
        TeamManager.Instance.OnTeamChange -= OnTeamChange;
        FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
        TeamManager.Instance.GetTeam(HeroUIManager.Instance.selectTeamType).RestoreTeam();
    }
    private void OnFuncStateChangeEvent(int obj)
    {
        if (obj != (int)FuncOpenEnum.LineupRecommend)
            return;
        DisplayLineupRecommend();
    }
    private void DisplayLineupRecommend()
    {
        bool isOpen = FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.LineupRecommend);
        lineupRecommendBtn.SetActive(isOpen);
    }
    void ShowFuncBtn()
@@ -492,7 +516,7 @@
            {
                team.AddHero(HeroManager.Instance.GetHero(guidList[i]), i, true);
            }
        }
        }
        TeamChangeEvent(new List<int>() { 0, 1, 2, 3, 4, 5 }, -1, Vector3.zero);
@@ -516,7 +540,7 @@
        Display();
        heroListScroller.m_Scorller.RefreshActiveCellViews();
    }
    protected void OnTeamChange(TeamType teamType)
    {
        if (HeroUIManager.Instance.selectTeamType == teamType)
Main/System/LineupRecommend/LineupRecommendCell.cs
@@ -53,7 +53,14 @@
        txtLineupDesc.text = GetDesc(recommendID);
        btnUse.SetListener(() =>
        {
            manager.UseTeam(recommendID);
            ConfirmCancel.ShowPopConfirm(Language.Get("L1003"), Language.Get("LineupRecommend06"),
                (bool isOK) =>
                {
                    if (isOK)
                    {
                        manager.UseTeam(recommendID);
                    }
                });
        });
        btnOff.SetListener(() =>
        {
Main/System/LineupRecommend/LineupRecommendManager.cs
@@ -40,9 +40,10 @@
    private void OnFuncStateChangeEvent(int obj)
    {
        if (obj != funcId)
            return;
        UpdateRedPoint();
        if (obj == (int)FuncOpenEnum.Hero || obj == (int)FuncOpenEnum.LineupRecommend)
        {
            UpdateRedPoint();
        }
    }
    private void OnPlayerLoginOk()
@@ -256,15 +257,15 @@
        }
        return false;
    }
    readonly int funcId = 1;//武将
    Redpoint redpoint = new Redpoint(MainRedDot.HeroCardRedpoint, MainRedDot.LineupRecommendRepoint);
    public void UpdateRedPoint()
    {
        redpoint.state = RedPointState.None;
        //武将没开不刷红点
        if (!FuncOpen.Instance.IsFuncOpen(funcId))
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Hero))
            return;
        if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.LineupRecommend))
            return;
        if (TryGetJumpIndex(out int index))
        {
            redpoint.state = RedPointState.Simple;
Main/Utility/EnumHelper.cs
@@ -844,6 +844,7 @@
    OSGala = 47, //开服盛典活动
    FunctionPreview = 48, //功能预览
    HeroFatesUpgrade = 49, //宿缘升级
    LineupRecommend = 50, //阵容推荐
}