using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
//时装碎片商店购买界面
|
public class SkinStoreBuyTipWin : UIBase
|
{
|
[SerializeField] Image skinImage;
|
[SerializeField] Image skinFrame;
|
[SerializeField] Text skinName;
|
[SerializeField] Text heroName;
|
[SerializeField] Text[] onAttrTexts;
|
[SerializeField] Text[] allAttrTexts;
|
[SerializeField] Image moneyIcon;
|
[SerializeField] Text moneyText;
|
[SerializeField] Button buyButton;
|
|
|
|
protected override void InitComponent()
|
{
|
buyButton.AddListener(BuyGoods);
|
}
|
|
|
protected override void OnPreOpen()
|
{
|
|
var storeConfig = StoreConfig.Get(StoreModel.Instance.buyShopID);
|
HeroSkinAttrConfig.itemIdToSkinIDDict.TryGetValue(storeConfig.ItemID, out var skinID);
|
|
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 = Language.Get("HeroSkin12", HeroConfig.Get(heroID).Name);
|
|
var shopConfig = StoreConfig.Get(StoreModel.Instance.buyShopID);
|
moneyIcon.SetIconWithMoneyType(shopConfig.MoneyType);
|
moneyText.text = UIHelper.ShowUseMoney(shopConfig.MoneyType, shopConfig.MoneyNum);
|
|
RefreshAttr(skinID);
|
}
|
|
|
void BuyGoods()
|
{
|
CloseWindow();
|
StoreModel.Instance.SendBuyShopItem(StoreConfig.Get(StoreModel.Instance.buyShopID), 1);
|
}
|
|
void RefreshAttr(int skinID)
|
{
|
var cfg = HeroSkinAttrConfig.Get(skinID);
|
|
string format = "{0}" + UIHelper.AppendColor(TextColType.Green, "+{1}", false);
|
for (int i = 0; i < onAttrTexts.Length; i++)
|
{
|
if (i < cfg.WearAttrIDList.Length)
|
{
|
onAttrTexts[i].text = PlayerPropertyConfig.GetFullDescription(cfg.WearAttrIDList[i], cfg.WearAttrValueList[i], format);
|
}
|
else
|
{
|
onAttrTexts[i].text = "";
|
}
|
}
|
|
for (int i = 0; i < allAttrTexts.Length; i++)
|
{
|
if (i < cfg.RoleAttrIDList.Length)
|
{
|
allAttrTexts[i].text = PlayerPropertyConfig.GetFullDescription(cfg.RoleAttrIDList[i], cfg.RoleAttrValueList[i], format);
|
}
|
else
|
{
|
allAttrTexts[i].text = "";
|
}
|
}
|
|
}
|
}
|