yyl
2025-10-22 440e8a4e3febfc1d98f11da2fbd7eaf75c12e877
Main/System/HeroUI/HeroPosWin.cs
@@ -100,6 +100,7 @@
        countryOnBtn.AddListener(() =>
        {
            HeroUIManager.Instance.isCustonHeroFormation = false;
            UIManager.Instance.OpenWindow<HeroFormationWin>();
        });
@@ -115,8 +116,9 @@
        heroListScroller.OnRefreshCell += OnRefreshCell;
        HeroUIManager.Instance.OnTeamPosChangeEvent += TeamChangeEvent;
        TeamManager.Instance.OnTeamChange += OnTeamChange;
        SelectTiltleBtn();
        CreateScroller();
        Refresh();
        Display();
    }
    protected override void OnPreClose()
@@ -129,7 +131,20 @@
    }
    public override void Refresh()
    void SelectTiltleBtn()
    {
        if (functionOrder == 0)
        {
            mainFBBtn.SelectBtn();
        }
        else if (functionOrder == 1)
        {
            jjcBtn.SelectBtn();
        }
    }
    public void Display()
    {
        OnBattleTeamAttrPer();
        RefreshOnTeamCountry();
@@ -217,11 +232,11 @@
        var team = TeamManager.Instance.GetTeam(HeroUIManager.Instance.selectTeamType);
        if (team != null)
        {
            for (int i = 0; i < team.serverHeroes.Length; i++)
            for (int i = 0; i < team.tempHeroes.Length; i++)
            {
                if (team.serverHeroes[i] == null)
                if (team.tempHeroes[i] == null)
                    continue;
                var hero = HeroManager.Instance.GetHero(team.serverHeroes[i].guid);
                var hero = HeroManager.Instance.GetHero(team.tempHeroes[i].guid);
                if (hero != null)
                {
                    valuePer += hero.GetOnBattleAddPer();
@@ -346,7 +361,7 @@
            else
            {
                sceneHero[i].SetActive(true);
                sceneHero[i].Display(teamHero.guid, i, flyFrom >= 0, true);
                sceneHero[i].Display(teamHero.guid, i, flyFrom >= 0, flyFrom != -2 ? true : false);
                //按scenePosImgs 顺序排序对应位置
                sceneHero[i].transform.position = scenePosImgs[i].transform.position;
                sceneHero[i].transform.localScale = Vector3.one;
@@ -356,6 +371,7 @@
        RefreshPosScale();
        heroListScroller.m_Scorller.RefreshActiveCellViews();
        RefreshOnTeamCountry(true);
        OnBattleTeamAttrPer();
        //表现飞入,连续点击不同头像触发的话则重置
        if (flyFrom > -1)
@@ -456,10 +472,33 @@
        var guidList = HeroUIManager.Instance.SelectRecommend();
        var team = TeamManager.Instance.GetTeam(HeroUIManager.Instance.selectTeamType);
        team.RemoveAllHeroes();
        for (int i = 0; i < guidList.Count; i++)
        if (NewBieCenter.Instance.inGuiding && NewBieCenter.Instance.currentGuide == HeroUIManager.Instance.onekeyGuideID)
        {
            team.AddHero(HeroManager.Instance.GetHero(guidList[i]), i);
            //第二个强制排在5号位
            if (guidList.Count > 1)
            {
                team.AddHero(HeroManager.Instance.GetHero(guidList[1]), 4, true);
                guidList.RemoveAt(1);
            }
            for (int i = 0; i < guidList.Count; i++)
            {
                int index = i;
                if (i >= 4)
                {
                    index = i + 1;
                }
                team.AddHero(HeroManager.Instance.GetHero(guidList[i]), index, true);
            }
        }
        else
        {
            for (int i = 0; i < guidList.Count; i++)
            {
                team.AddHero(HeroManager.Instance.GetHero(guidList[i]), i, true);
            }
        }
        TeamChangeEvent(new List<int>() { 0, 1, 2, 3, 4, 5 }, -1, Vector3.zero);
@@ -481,7 +520,7 @@
        HeroUIManager.Instance.selectTeamPosCountry = 0;
        HeroUIManager.Instance.selectTeamType = type;
        HeroUIManager.Instance.SortHeroOnTeamList();
        Refresh();
        Display();
        heroListScroller.m_Scorller.RefreshActiveCellViews();
    }