| using System.Collections.Generic; | 
| using UnityEngine; | 
| using UnityEngine.UI; | 
|   | 
|   | 
| /// <summary> | 
| /// 武将觉醒选择天赋界面 | 
| /// </summary> | 
| public class HeroAwakeSelectGiftWin : UIBase | 
| { | 
|     [SerializeField] GameObject[] slectGos; | 
|     [SerializeField] Button[] giftBtns; | 
|     [SerializeField] GiftBaseCell[] giftCells; | 
|     [SerializeField] Text[] skillText; | 
|     [SerializeField] Button okBtn; | 
|   | 
|     int selectIndex = 0; | 
|     protected override void InitComponent() | 
|     { | 
|         okBtn.AddListener(SelectGift); | 
|         for (int i = 0; i < giftBtns.Length; i++) | 
|         { | 
|             int index = i; | 
|             giftBtns[i].AddListener(() => | 
|             { | 
|                 selectIndex = index; | 
|                 Display(); | 
|             }); | 
|         } | 
|     } | 
|   | 
|     protected override void OnPreOpen() | 
|     { | 
|         selectIndex = 0; | 
|         Display(); | 
|     } | 
|   | 
|   | 
|     public void Display() | 
|     { | 
|         var hero = HeroManager.Instance.GetHero(HeroUIManager.Instance.selectAwakeHeroGuid); | 
|         if (hero == null) | 
|         { | 
|             return; | 
|         } | 
|   | 
|         for (int i = 0; i < giftBtns.Length; i++) | 
|         { | 
|             slectGos[i].SetActive(i == selectIndex); | 
|             if (i < hero.talentAwakeRandomIDList.Count) | 
|             { | 
|                 giftCells[i].Init(hero.talentAwakeRandomIDList[i], 1); | 
|                 var giftConfig = HeroTalentConfig.Get(hero.talentAwakeRandomIDList[i]); | 
|                 skillText[i].text = PlayerPropertyConfig.GetFullDescription(giftConfig.AttrID, giftConfig.AttrValue); | 
|             } | 
|         } | 
|   | 
|     } | 
|   | 
|   | 
|     void SelectGift() | 
|     {  | 
|         ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("HeroAwake7"), (bool isOK) => | 
|             { | 
|                 if (isOK) | 
|                 { | 
|                     var hero = HeroManager.Instance.GetHero(HeroUIManager.Instance.selectAwakeHeroGuid); | 
|                     if (hero == null) | 
|                     { | 
|                         return; | 
|                     } | 
|   | 
|                     HeroUIManager.Instance.heroBeforeAwakeGiftIDList = new List<int>(hero.talentIDList); | 
|                     HeroUIManager.Instance.heroBeforeAwakeGiftLevelList = new List<int>(hero.talentLvList); | 
|   | 
|                     HeroUIManager.Instance.waitResponse = new WaitHeroFuncResponse() | 
|                     { | 
|                         guid = HeroUIManager.Instance.selectAwakeHeroGuid, | 
|                         type = HeroFuncType.Awake, | 
|                         time = Time.time | 
|                     }; | 
|                     var pack = new CB234_tagCSHeroAwakeSelectTalent(); | 
|                     pack.ItemIndex = (ushort)hero.itemHero.gridIndex; | 
|                     pack.SelectIndex = (byte)selectIndex; | 
|                     GameNetSystem.Instance.SendInfo(pack); | 
|                     CloseWindow(); | 
|                 } | 
|             }); | 
|     } | 
| } |