hch
5 天以前 ee3196b5a04c15d025d1a9eab825d5d14987758d
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
86
87
88
89
90
91
92
93
94
95
96
97
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
 
//使用货币购买坊市表商品
public class BuyItemWin : UIBase
{
    [SerializeField] ItemCell itemCell;
    [SerializeField] Text nameText;
    [SerializeField] Text countText;
    [SerializeField] Text descText;
    [SerializeField] SliderPanel sliderPanel;
    [SerializeField] Text limitText;
    [SerializeField] Image moneyIcon;
    [SerializeField] Text moneyText;
    [SerializeField] Button buyButton;
 
 
    int itemCount;
    int useCnt;
    int maxCnt;
    protected override void InitComponent()
    {
        buyButton.AddListener(BuyGoods);
    }
 
 
 
    protected override void OnPreOpen()
    {
        useCnt = 1;
        Display();
    }
 
    void Display()
    {
        var shopConfig = StoreConfig.Get(StoreModel.Instance.buyShopID);
        var itemID = shopConfig.ItemID;
        var itemCount = shopConfig.ItemCnt;
        itemCell.Init(new ItemCellModel(itemID, false, itemCount));
        var itemConfig = ItemConfig.Get(itemID);
        nameText.text = itemConfig.ItemName;
        countText.text = Language.Get("storename12", PackManager.Instance.GetItemCountByID(PackType.Item, itemID));
        descText.text = itemConfig.Description;
 
        var buyCnt = StoreModel.Instance.GetShopLimitBuyCount(StoreModel.Instance.buyShopID);
        maxCnt = shopConfig.LimitCnt - buyCnt;
        if (maxCnt == 0)
        {
            //没有限购,用货币可购买数量
            maxCnt = Math.Max(1, (int)(UIHelper.GetMoneyCnt(shopConfig.MoneyType)/shopConfig.MoneyNum));
        }
 
        OnSliderChange(useCnt);
        sliderPanel.Init((value) => { OnSliderChange(value); }, maxCnt);
    }
 
    void OnSliderChange(int value)
    {
        var shopConfig = StoreConfig.Get(StoreModel.Instance.buyShopID);
        useCnt = value;
        itemCell.countText.text = value.ToString();
 
        string limitStr = "";
        if (shopConfig.LimitCnt == 0)
        {
            limitStr = "";
        }
        else if (shopConfig.ResetType == 0)
        {
            //限购
            limitStr = Language.Get("storename8", useCnt, maxCnt);
        }
        else if (shopConfig.ResetType == 1)
        {
            //每日限购
            limitStr = Language.Get("storename6", useCnt, maxCnt);
        }
        else if (shopConfig.ResetType == 2)
        {
            //每周限购
            limitStr = Language.Get("storename7", useCnt, maxCnt);
        }
        limitText.text = limitStr;
 
        moneyIcon.SetIconWithMoneyType(shopConfig.MoneyType);
        moneyText.text = UIHelper.ShowUseMoney(shopConfig.MoneyType, shopConfig.MoneyNum * useCnt);
 
    }
 
    void BuyGoods()
    {
        CloseWindow();
        StoreModel.Instance.SendBuyShopItem(StoreConfig.Get(StoreModel.Instance.buyShopID), useCnt);
    }
}