using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
public class HeroDeleteHeadCell : MonoBehaviour
|
{
|
[SerializeField] HeroHeadBaseCell heroHeadBaseCell;
|
[SerializeField] Image jobImg;
|
[SerializeField] Text nameText;
|
[SerializeField] GameObject selectRect;
|
[SerializeField] GameObject maskObj;
|
[SerializeField] GameObject onTeamObj;
|
[SerializeField] GameObject lockObj;
|
[SerializeField] GameObject awakeObj;
|
[SerializeField] Text awakeLVText;
|
|
public void Display(int index)
|
{
|
var guid = HeroUIManager.Instance.heroDeleteSortList[index];
|
var hero = HeroManager.Instance.GetHero(guid);
|
var team = TeamManager.Instance.GetTeam(HeroUIManager.Instance.selectTeamType);
|
selectRect.SetActive(HeroUIManager.Instance.selectDeleteHeroList.Contains(guid));
|
maskObj.SetActive(hero.isLock || hero.IsInAnyTeam()
|
|| HeroUIManager.Instance.selectDeleteHeroList.Contains(guid) || hero.awakeLevel > 0);
|
|
lockObj.SetActive(hero.isLock);
|
onTeamObj.SetActive(hero.IsInAnyTeam());
|
awakeObj.SetActive(hero.awakeLevel > 0);
|
awakeLVText.text = hero.awakeLevel.ToString();
|
|
heroHeadBaseCell.Init(hero.heroId, hero.SkinID, hero.heroStar, hero.awakeLevel, hero.heroLevel, () =>
|
{
|
Click(hero, index);
|
});
|
nameText.text = hero.breakLevel == 0 ? hero.heroConfig.Name : Language.Get("herocardbreaklv", hero.heroConfig.Name, hero.breakLevel);
|
|
jobImg.SetSprite(HeroUIManager.Instance.GetJobIconName(hero.heroConfig.Class));
|
}
|
|
void Click(HeroInfo hero, int index)
|
{
|
//上阵 锁定 觉醒 的情况
|
if (hero.awakeLevel > 0)
|
{
|
SysNotifyMgr.Instance.ShowTip("HeroReborn1");
|
return;
|
}
|
|
if (hero.IsInAnyTeamJustOne())
|
{
|
//阵容至少要有一个武将上阵
|
SysNotifyMgr.Instance.ShowTip("HeroFunc3");
|
return;
|
}
|
|
if (hero.isLock)
|
{
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
|
Language.Get("herocard66"), (bool isOK) =>
|
{
|
if (isOK)
|
{
|
hero.ChangeLockState();
|
}
|
});
|
return;
|
}
|
|
if (hero.IsInAnyTeam())
|
{
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"),
|
Language.Get("herocard65"), (bool isOK) =>
|
{
|
if (isOK)
|
{
|
hero.LeaveAllTeam();
|
}
|
});
|
return;
|
}
|
|
if (HeroUIManager.Instance.selectDeleteHeroList.Contains(hero.itemHero.guid))
|
{
|
HeroUIManager.Instance.selectDeleteHeroList.Remove(hero.itemHero.guid);
|
}
|
else
|
{
|
HeroUIManager.Instance.selectDeleteHeroList.Add(hero.itemHero.guid);
|
}
|
|
Display(index);
|
}
|
}
|