using UnityEngine; using UnityEngine.UI; public class HeroFatesPutItem : MonoBehaviour { [SerializeField] HeroHeadBaseCell heroHeadBaseCell; [SerializeField] Image jobImg; [SerializeField] Text nameText; [SerializeField] Transform select; HeroFatesManager manager { get { return HeroFatesManager.Instance; } } HeroInfo hero; public void Display(HeroInfo hero) { this.hero = hero; heroHeadBaseCell.Init(hero.heroId, hero.SkinID, hero.heroStar, hero.awakeLevel, hero.heroLevel, OnClick); nameText.text = hero.breakLevel == 0 ? hero.heroConfig.Name : Language.Get("herocardbreaklv", hero.heroConfig.Name, hero.breakLevel); jobImg.SetSprite(HeroUIManager.Instance.GetJobIconName(hero.heroConfig.Class)); bool isChoose = manager.chooseCostHeroInfos.Contains(hero); select?.SetActive(isChoose); } public void OnClick() { if (!manager.TryGetNowLVAndNextLVConfig(manager.chooseHeroFatesId, out int nowLv, out HeroFatesQualityLVConfig nowLVConfig, out HeroFatesQualityLVConfig nextLVConfig)) { return; } bool isChoose = manager.chooseCostHeroInfos.Contains(hero); if (!isChoose) { int nextCnt = manager.chooseCostHeroInfos.Count + 1; // 当前选中武将已达上限 if (nextCnt > nextLVConfig.NeedHeroCnt) { SysNotifyMgr.Instance.ShowTip("HeroFates03"); return; } } manager.ChooseAdd(hero); } }