lcy
2 天以前 2b60f3b22b916327f678388c8d5832d2bdabb49d
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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 = "";
            }
        }
 
    }
}