hch
3 天以前 b816510b6b189c280088dec693f8181489214a7c
Main/System/HeroUI/HeroTrainWin.cs
@@ -6,7 +6,9 @@
/// <summary>
/// 武将培养界面
/// 武将培养界面
/// functionOrder 0 代表培养  1 代表突破
/// 暂时不做一级界面区分,待时装界面分析处理,目前突破也在这个界面
/// </summary>
public class HeroTrainWin : UIBase
{
@@ -42,8 +44,8 @@
    [SerializeField] Text awakeLVText;
    //属性区
    [SerializeField] ScrollRect allAttrScroll;
    [SerializeField] Button attrBtn;
    [SerializeField] ScrollRect allAttrScroll;      //培养属性 滚动区
    [SerializeField] Button attrBtn;    //培养区的拖拉按钮
    [SerializeField] Image unfoldImg; //展开时按钮的图标
    [SerializeField] Image foldImg; //收起时按钮的图标
    bool unfoldState = false;//是否展开
@@ -93,6 +95,19 @@
    [SerializeField] Image redpointAwake;
    [SerializeField] Image redpointGift;
    [SerializeField] Image redpointLVUP;
    #region 突破
    // 区分突破和培养模块
    [SerializeField] HeroLVBreakCell heroLVBreakCell;   //对应培养的 allAttrScroll  和 attrBtn
    [SerializeField] GroupButtonEx trainMainButton; //培养入口按钮
    [SerializeField] GroupButtonEx breakMainButton; //突破入口按钮
    //入口伪红点用图片代替
    [SerializeField] Image trainMainRedImg;
    [SerializeField] Image breakMainRedImg;
    #endregion
    Queue<HeroTrainAddAttrCell> lvupAttrQueue = new Queue<HeroTrainAddAttrCell>();
@@ -187,6 +202,20 @@
        {
            freezeTipGo.SetActive(!freezeTipGo.activeSelf);
        });
        trainMainButton.AddListener(() =>
        {
            functionOrder = 0;
            DisplayTrainOrBreak(hero);
        });
        breakMainButton.AddListener(() =>
        {
            functionOrder = 1;
            DisplayTrainOrBreak(hero);
            unfoldState = false;
            RefreshFoldState();
        });
    }
@@ -263,6 +292,8 @@
        RefreshAwake();
        RefreshFreeze();
        RefreshRedImg();
        DisplayTrainOrBreak(hero);
        HeroUIManager.Instance.RemoveNewHero(hero.heroId);
        ForceRefreshLayout();
@@ -805,6 +836,9 @@
        redpointAwake.SetActive(false);
        redpointGift.SetActive(false);
        redpointLVUP.SetActive(false);
        trainMainRedImg.SetActive(false);
        breakMainRedImg.SetActive(false);
        var heroCnt = PackManager.Instance.GetItemCountByID(PackType.Hero, hero.heroId);
        var itemPack = PackManager.Instance.GetSinglePack(PackType.Item);
@@ -813,22 +847,10 @@
        if (heroCnt > 1)
        {
            redpointGift.SetActive(true);
            trainMainRedImg.SetActive(true);
        }
        // var maxBreakLV = HeroBreakConfig.GetMaxBreakLv(hero.heroId);
        // if (hero.breakLevel < maxBreakLV)
        // {
        //     if (HeroUIManager.Instance.IsCanBreak(hero))
        //     {
        //         var breakConfig = HeroQualityBreakConfig.GetQualityBreakConfig(hero.Quality, hero.breakLevel);
        //         if (itemPack.GetCountById(breakConfig.UPCostItemList[0][0]) >= breakConfig.UPCostItemList[0][1])
        //         {
        //             redpointLVUP.SetActive(true);
        //             return;
        //         }
        //         return;
        //     }
        // }
        if (!HeroUIManager.Instance.IsLVMax(hero))
        {
@@ -836,6 +858,7 @@
            if (itemPack.GetCountById(lvupConfig.UPCostItem[0]) >= lvupConfig.UPCostItem[1])
            {
                redpointLVUP.SetActive(true);
                trainMainRedImg.SetActive(true);
            }
        }
@@ -857,10 +880,41 @@
                if (itemPack.GetCountById(config.UPCostItem[0]) >= config.UPCostItem[1])
                {
                    redpointAwake.SetActive(true);
                    trainMainRedImg.SetActive(true);
                }
            }
        }
        if (HeroUIManager.Instance.IsCanBreak(hero))
        {
            redpointLVUP.SetActive(true);
            breakMainRedImg.SetActive(true);
        }
    }
    #region 突破功能
    void DisplayTrainOrBreak(HeroInfo hero)
    {
        //heroLVBreakCell;   //对应培养的 allAttrScroll  和 attrBtn
        if (functionOrder == 0)
        {
            heroLVBreakCell.SetActive(false);
            allAttrScroll.SetActive(true);
            attrBtn.SetActive(true);
            trainMainButton.SelectBtn();
        }
        else
        {
            heroLVBreakCell.SetActive(true);
            allAttrScroll.SetActive(false);
            attrBtn.SetActive(false);
            heroLVBreakCell.Display(hero);
            breakMainButton.SelectBtn();
        }
    }
    #endregion
}