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