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