using System.Collections.Generic; 
 | 
using System.Linq; 
 | 
using UnityEngine; 
 | 
using UnityEngine.UI; 
 | 
  
 | 
  
 | 
/// <summary> 
 | 
/// 图鉴激活升级界面 
 | 
/// </summary> 
 | 
public class HeroCollectionLvUpWin : UIBase 
 | 
{ 
 | 
    [SerializeField] GameObject lvupPanel; 
 | 
    [SerializeField] GameObject fullPanel; 
 | 
  
 | 
    [SerializeField] HeroHeadBaseCell beforeHeadCell; 
 | 
    [SerializeField] Text name1; 
 | 
    [SerializeField] GameObject unActiveGo; 
 | 
    [SerializeField] HeroHeadBaseCell afterHeadCell; 
 | 
    [SerializeField] Text name2; 
 | 
  
 | 
    [SerializeField] Text[] attrNames; 
 | 
    [SerializeField] Text[] beforeAttrValues; 
 | 
    [SerializeField] Text[] afterAttrValues; 
 | 
  
 | 
    [SerializeField] RichText awardInfo; 
 | 
    [SerializeField] Button btn; 
 | 
    [SerializeField] Text btnText; 
 | 
  
 | 
    [SerializeField] HeroHeadBaseCell fullHeadCell; 
 | 
    [SerializeField] Text name3; 
 | 
    [SerializeField] Text[] fullAttrs; 
 | 
     
 | 
    [SerializeField] GameObject fullImg; 
 | 
  
 | 
    [SerializeField] Text titleText; 
 | 
  
 | 
  
 | 
    protected override void InitComponent() 
 | 
    { 
 | 
        btn.AddListener(OnBtnClick); 
 | 
    } 
 | 
  
 | 
    protected override void OnPreOpen() 
 | 
    { 
 | 
        HeroUIManager.Instance.OnHeroCollectEvent += Display; 
 | 
        Display(); 
 | 
    } 
 | 
  
 | 
    protected override void OnPreClose() 
 | 
    { 
 | 
        HeroUIManager.Instance.OnHeroCollectEvent -= Display; 
 | 
    } 
 | 
  
 | 
  
 | 
    void Display() 
 | 
    { 
 | 
        var state = HeroUIManager.Instance.GetHeroBookState(HeroUIManager.Instance.selectCollectHeroID, HeroConfig.Get(HeroUIManager.Instance.selectCollectHeroID).Quality); 
 | 
        var config = HeroConfig.Get(HeroUIManager.Instance.selectCollectHeroID); 
 | 
  
 | 
        HB122_tagSCHeroInfo.tagSCHero colData; 
 | 
        HeroUIManager.Instance.TryGetHeroBookInfo(HeroUIManager.Instance.selectCollectHeroID, out colData); 
 | 
        var bookPer = HeroUIManager.Instance.GetHeroBookPer(HeroUIManager.Instance.selectCollectHeroID); 
 | 
        if (state == 5 || state == 2) 
 | 
        { 
 | 
            //已满级 
 | 
            titleText.text = state == 5 ? Language.Get("HeroAwake13") : Language.Get("HeroAwake12"); 
 | 
            fullPanel.SetActive(true); 
 | 
            lvupPanel.SetActive(false); 
 | 
  
 | 
            fullHeadCell.Init(HeroUIManager.Instance.selectCollectHeroID, config.SkinIDList[0], colData.BookStarLV); 
 | 
            name3.text = colData.BookBreakLV == 0 ? config.Name : Language.Get("herocardbreaklv", config.Name, colData.BookBreakLV); 
 | 
  
 | 
            for (int i = 0; i < fullAttrs.Length; i++) 
 | 
            { 
 | 
                fullAttrs[i].text = PlayerPropertyConfig.GetFullDescription(PlayerPropertyConfig.basePerAttrs[i], 
 | 
                    bookPer, "{0}    " + UIHelper.AppendColor(TextColType.Green, "+{1}")); 
 | 
            } 
 | 
            var nextHeroID = HeroUIManager.Instance.FindHeroIDCanAddCollectAttr(HeroUIManager.Instance.selectCollectHeroID); 
 | 
            if (nextHeroID != 0) 
 | 
            { 
 | 
                fullImg.SetActive(false); 
 | 
                btn.SetActive(true); 
 | 
                //下一个 
 | 
                btnText.text = Language.Get("HeroAwake14"); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                fullImg.SetActive(state == 5); 
 | 
                btn.SetActive(state == 2); 
 | 
                btnText.text = Language.Get("L1109"); 
 | 
            } 
 | 
  
 | 
        } 
 | 
        else 
 | 
        { 
 | 
            fullPanel.SetActive(false); 
 | 
            lvupPanel.SetActive(true); 
 | 
            btn.SetActive(true); 
 | 
  
 | 
            beforeHeadCell.Init(HeroUIManager.Instance.selectCollectHeroID, config.SkinIDList[0], colData.BookStarLV); 
 | 
            name1.text = colData.BookBreakLV == 0 ? config.Name : Language.Get("herocardbreaklv", config.Name, colData.BookBreakLV); 
 | 
  
 | 
            int addPer = 0; 
 | 
            var qualityConfig = HeroQualityConfig.Get(config.Quality); 
 | 
            awardInfo.text = string.Empty; 
 | 
            unActiveGo.SetActive(false); 
 | 
            titleText.text = Language.Get("HeroAwake12"); 
 | 
            int afterBreakLV = colData.BookBreakLV; 
 | 
            int afterStarLV = colData.BookStarLV; 
 | 
            if (state == 1) 
 | 
            { 
 | 
                //激活 
 | 
                addPer = qualityConfig.BookInitAddPer; 
 | 
                btnText.text = Language.Get("L1131");   //L1131    激活 
 | 
                awardInfo.text = Language.Get("HeroAwake10", UIHelper.GetIconNameWithMoneyType(qualityConfig.BookActAwardMoney[0]), 
 | 
                    qualityConfig.BookActAwardMoney[1]); 
 | 
                unActiveGo.SetActive(true); 
 | 
                titleText.text = Language.Get("HeroAwake11"); 
 | 
            } 
 | 
            else if (state == 3) 
 | 
            { 
 | 
                //突破 
 | 
                addPer = qualityConfig.BookBreakLVAddPer; 
 | 
                btnText.text = Language.Get("L1109");   //升级  
 | 
                afterBreakLV++; 
 | 
            } 
 | 
            else if (state == 4) 
 | 
            { 
 | 
                //升星 
 | 
                addPer = qualityConfig.BookStarAddPer; 
 | 
                btnText.text = Language.Get("L1109"); 
 | 
                afterStarLV++; 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                var nextHeroID = HeroUIManager.Instance.FindHeroIDCanAddCollectAttr(HeroUIManager.Instance.selectCollectHeroID); 
 | 
                if (nextHeroID != 0) 
 | 
                { 
 | 
                    //下一个 
 | 
                    btnText.text = Language.Get("HeroAwake14"); 
 | 
                } 
 | 
                else 
 | 
                { 
 | 
                    btnText.text = Language.Get("L1109"); 
 | 
                } 
 | 
            } 
 | 
  
 | 
            afterHeadCell.Init(HeroUIManager.Instance.selectCollectHeroID, config.SkinIDList[0], afterStarLV); 
 | 
            name2.text = afterBreakLV == 0 ? config.Name :Language.Get("herocardbreaklv", config.Name, afterBreakLV); 
 | 
  
 | 
  
 | 
            for (int i = 0; i < beforeAttrValues.Length; i++) 
 | 
            { 
 | 
                beforeAttrValues[i].text = PlayerPropertyConfig.GetValueDescription(PlayerPropertyConfig.basePerAttrs[i], bookPer); 
 | 
                attrNames[i].text = PlayerPropertyConfig.Get(PlayerPropertyConfig.basePerAttrs[i]).Name; 
 | 
                afterAttrValues[i].text = PlayerPropertyConfig.GetValueDescription(PlayerPropertyConfig.basePerAttrs[i], bookPer + addPer); 
 | 
            } 
 | 
        } 
 | 
  
 | 
    } 
 | 
  
 | 
    void OnBtnClick() 
 | 
    { 
 | 
        var state = HeroUIManager.Instance.GetHeroBookState(HeroUIManager.Instance.selectCollectHeroID, HeroConfig.Get(HeroUIManager.Instance.selectCollectHeroID).Quality); 
 | 
        if (state == 1) 
 | 
        { 
 | 
            //激活 
 | 
            SendPack(0); 
 | 
        } 
 | 
        else if (state == 3) 
 | 
        { 
 | 
            //突破 
 | 
            SendPack(2); 
 | 
        } 
 | 
        else if (state == 4) 
 | 
        { 
 | 
            //升星 
 | 
            SendPack(1); 
 | 
        } 
 | 
        else 
 | 
        { 
 | 
            var nextHeroID = HeroUIManager.Instance.FindHeroIDCanAddCollectAttr(HeroUIManager.Instance.selectCollectHeroID); 
 | 
            if (nextHeroID != 0) 
 | 
            { 
 | 
                //下一个 
 | 
                HeroUIManager.Instance.selectCollectHeroID = nextHeroID; 
 | 
                Display(); 
 | 
            } 
 | 
            else 
 | 
            { 
 | 
                SysNotifyMgr.Instance.ShowTip("HeroGift8"); 
 | 
            } 
 | 
        } 
 | 
    } 
 | 
  
 | 
    void SendPack(int type) 
 | 
    { 
 | 
        var pack = new CB237_tagCSHeroBookUP(); 
 | 
        pack.BookType = (byte)type; 
 | 
        pack.HeroID = (uint)HeroUIManager.Instance.selectCollectHeroID; 
 | 
        GameNetSystem.Instance.SendInfo(pack); 
 | 
    } 
 | 
  
 | 
} 
 |