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