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