1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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;
        });
    }
}