| 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); | 
|     } | 
|   | 
| } |