using System.Collections.Generic; 
 | 
using UnityEngine; 
 | 
using UnityEngine.UI; 
 | 
  
 | 
public class HeroPosHeadCell : MonoBehaviour 
 | 
{ 
 | 
    [SerializeField] HeroHeadBaseCell heroHeadBaseCell; 
 | 
    [SerializeField] Image jobImg; 
 | 
    [SerializeField] Text nameText; 
 | 
    [SerializeField] Transform selectRect; 
 | 
  
 | 
    public void Display(int index) 
 | 
    { 
 | 
        var guid = HeroUIManager.Instance.heroOnTeamSortList[index]; 
 | 
        var hero = HeroManager.Instance.GetHero(guid); 
 | 
        var team = TeamManager.Instance.GetTeam(HeroUIManager.Instance.selectTeamType); 
 | 
        selectRect.SetActive(team.GetHero(guid) != null); 
 | 
  
 | 
        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) 
 | 
    { 
 | 
        //检查是否可上阵,查找上阵位置,显示勾选,飞入上阵位置 
 | 
        var team = TeamManager.Instance.GetTeam(HeroUIManager.Instance.selectTeamType); 
 | 
        int pos; 
 | 
        if (selectRect.gameObject.activeSelf) 
 | 
        { 
 | 
            selectRect.SetActive(false); 
 | 
            if (team.RemoveHero(hero, out pos)) 
 | 
            {  
 | 
                //通知刷新(下阵) 
 | 
                HeroUIManager.Instance.NotifyOnTeamPosChangeEvent(new List<int>() { pos }, -1, Vector3.zero); 
 | 
            } 
 | 
            return; 
 | 
        } 
 | 
  
 | 
        team.AddHero(hero, out pos, true); 
 | 
        if (pos != -1) 
 | 
        { 
 | 
            selectRect.SetActive(true); 
 | 
            //通知刷新,上阵,图片飞入(上阵位置) 
 | 
            HeroUIManager.Instance.NotifyOnTeamPosChangeEvent(new List<int>() { pos }, index, heroHeadBaseCell.transform.position); 
 | 
        } 
 | 
    } 
 | 
} 
 |