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