hch
20 小时以前 bd6f9a734277e57efe5abc8c32a85d5de27cdc03
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
 
public class SkinStoreCell : MonoBehaviour
{
    [SerializeField] Image skinImage;
    [SerializeField] Image skinFrame;
    [SerializeField] Text skinName;
    [SerializeField] Text heroName;
    [SerializeField] Image priceIcon;
    [SerializeField] Text priceText;
    [SerializeField] Button buyButton;
    [SerializeField] Transform gotYetObj; 
 
 
 
    public void Display(int index)
    {
        var list = StoreModel.Instance.storeTypeDict[StoreModel.skinStoreType];
        var storeData = list[index];
        int shopID = storeData.shopId;
        var itemID = storeData.storeConfig.ItemID;
        HeroSkinAttrConfig.itemIdToSkinIDDict.TryGetValue(itemID, out var skinID);
        if (skinID == 0)
        {
            Debug.LogError("时装商店配置错误 没有对应皮肤 商品:" + shopID);
            return;
        }
        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;
 
        var heroID = HeroConfig.GetHeroIDBySkinID(skinID);
        heroName.text = HeroConfig.Get(heroID).Name;
 
        //0可购买 1已售罄 2免费 3未解锁
        var state = StoreModel.Instance.GetShopIDState(shopID);
        if (state == 0)
        {
            buyButton.SetActive(true);
            gotYetObj.SetActive(false);
 
            buyButton.AddListener(() => { BuyGoods(shopID); });
        }
        else
        {
            buyButton.SetActive(false);
            gotYetObj.SetActive(true);
        }
        
        priceIcon.SetIconWithMoneyType(storeData.storeConfig.MoneyType);
        priceText.text = storeData.storeConfig.MoneyNum.ToString();
        
    }
 
    void BuyGoods(int shopID)
    {
        StoreModel.Instance.buyShopID = shopID;
        UIManager.Instance.OpenWindow<SkinStoreBuyTipWin>();
    }
}