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 = ""; } } } }