using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
///
/// 武将觉醒选择天赋界面
///
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(hero.talentIDList);
HeroUIManager.Instance.heroBeforeAwakeGiftLevelList = new List(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();
}
});
}
}