using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class HeroSkinCell : CellView { [SerializeField] Image skinImage; [SerializeField] Image skinFrame; [SerializeField] Image skinAttrOnImg; [SerializeField] Image skinRoleOnImg; [SerializeField] Text skinName; [SerializeField] Image unselectImg; [SerializeField] Image ungetImg; [SerializeField] Image fakeRed; [SerializeField] Button cardBtn; [SerializeField] Transform selectObj; //放大用 public void Display(int heroID, int index, bool isHero) { var skinID = HeroConfig.Get(heroID).SkinIDList[index]; var skinConfig = HeroSkinConfig.Get(skinID); var attrCfg = HeroSkinAttrConfig.Get(skinID); skinImage.SetOrgSprite(skinConfig.CardPic, "HeroSkinCard"); skinFrame.SetSprite("HeroSkinFrame" + (attrCfg== null ? 0 : attrCfg.Quality)); skinName.text = skinConfig.SkinName == "" ? Language.Get("HeroSkin2") : skinConfig.SkinName; if (!isHero) { skinAttrOnImg.SetActive(false); skinRoleOnImg.SetActive(false); } else { var hero = HeroManager.Instance.GetHero(HeroUIManager.Instance.selectHeroGuid); //分穿戴 和形象,选中同一个时穿戴优先 skinAttrOnImg.SetActive(hero.SkinAttrIndex == index); skinRoleOnImg.SetActive(hero.SkinIndex != hero.SkinAttrIndex && hero.SkinIndex == index); } unselectImg.SetActive(HeroUIManager.Instance.selectSkinIndex != index); selectObj.localScale = HeroUIManager.Instance.selectSkinIndex != index ? Vector3.one*0.9f : Vector3.one * 1f; ungetImg.SetActive(!HeroUIManager.Instance.IsHeroSkinActive(heroID, skinID)); fakeRed.SetActive(HeroUIManager.Instance.HeroSkinStateForRedpoint(skinID) > 0); cardBtn.AddListener(()=> { HeroUIManager.Instance.selectSkinIndex = index; }); } }