| | |
| | | using UnityEngine.UI; |
| | | using UnityEngine.Events; |
| | | using System.Collections.Generic; |
| | | using Cysharp.Threading.Tasks; |
| | | |
| | | public class HeroHeadBaseCell : MonoBehaviour |
| | | { |
| | |
| | | |
| | | } |
| | | |
| | | // 武将小头像 Async版本 |
| | | public async UniTask InitAsync(int heroID, int skinID, int star = 0, int awakelv = 0, int lv = 0, UnityAction onclick = null) |
| | | { |
| | | LoadPrefab(); //存在被卸载的可能,重新加载 |
| | | if (onclick != null) |
| | | { |
| | | clickBtn.AddListener(onclick); |
| | | } |
| | | var heroConfig = HeroConfig.Get(heroID); |
| | | qualityBG.SetSprite("heroheadBG" + heroConfig.Quality); |
| | | // int skinID = 0; |
| | | // if (heroGuid != "") |
| | | // { |
| | | // skinID = HeroManager.Instance.GetHero(heroGuid).SkinID; |
| | | // } |
| | | // else |
| | | // { |
| | | // skinID = heroConfig.SkinIDList[0]; |
| | | // } |
| | | var sprite = await UILoader.LoadSpriteAsync("HeroHead", HeroSkinConfig.Get(skinID).SquareIcon); |
| | | if (this == null) return; |
| | | if (sprite == null) |
| | | { |
| | | // 内网未配置时 |
| | | heroIcon.SetSprite("herohead_default"); |
| | | } |
| | | else |
| | | { |
| | | heroIcon.overrideSprite = sprite; |
| | | } |
| | | |
| | | |
| | | if (star == 0) |
| | | { |
| | | starRect.SetActive(false); |
| | | } |
| | | else |
| | | { |
| | | starRect.SetActive(true); |
| | | for (int i = 0; i < starsImg.Count; i++) |
| | | { |
| | | if ((star - 1) % starsImg.Count >= i) |
| | | { |
| | | starsImg[i].SetActive(true); |
| | | starsImg[i].SetSprite("herostar" + (((star - 1) / starsImg.Count) + 1) * starsImg.Count); |
| | | } |
| | | else |
| | | { |
| | | starsImg[i].SetActive(false); |
| | | } |
| | | } |
| | | } |
| | | |
| | | countryImg.SetSprite(HeroUIManager.Instance.GetCountryIconName(heroConfig.Country)); |
| | | lvText.text = lv == 0 ? "" : Language.Get("L1094") + lv; |
| | | |
| | | awakeLvRect.SetActive(awakelv > 0); |
| | | awakeLvText.text = awakelv.ToString(); |
| | | |
| | | |
| | | } |
| | | |
| | | GameObject cellContainer; |
| | | protected void LoadPrefab() |
| | | { |