//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, July 23, 2018
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
namespace vnxbqy.UI
|
{
|
|
public class DayGoods : MonoBehaviour
|
{
|
[SerializeField] LimitedTimeItemInfo[] m_Items;
|
[SerializeField] Text m_BuyLimitCnt; //限购
|
[SerializeField] Button m_Buy;
|
[SerializeField] Text m_BuyText; //免费 货币 充值额度
|
[SerializeField] Image m_SellOut;
|
[SerializeField] Image m_MustBuy;
|
[SerializeField] Image m_OnSale; //打折
|
[SerializeField] Text m_OnSaleText; //打折
|
|
StoreModel storeModel
|
{
|
get { return ModelCenter.Instance.GetModel<StoreModel>(); }
|
}
|
DayPackageItemClassModel dayPackageItemModel { get { return ModelCenter.Instance.GetModel<DayPackageItemClassModel>(); } }
|
VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } }
|
|
float m_time = 0;
|
public void Display(int goodsID)
|
{
|
string title;
|
DayPackageItemClassModel.DayGift goods;
|
|
if (dayPackageItemModel.selectIndex == 0)
|
{
|
goods = dayPackageItemModel.m_RechargeDict[goodsID];
|
}
|
else if(dayPackageItemModel.selectIndex == 1)
|
{
|
goods = dayPackageItemModel.m_WeekRechargeDict[goodsID];
|
}
|
else
|
{
|
goods = dayPackageItemModel.m_MonthRechargeDict[goodsID];
|
}
|
|
m_OnSale.SetActive(goods.onSalePer != 0);
|
m_OnSaleText.text = goods.onSalePer + "%";
|
|
if (goodsID == 0)
|
{
|
title = Language.Get("DayGoods_0");
|
}
|
else
|
{
|
title = Language.Get("DayGoods_1", UIHelper.GetMoneyFormat(goods.money));
|
}
|
|
m_BuyLimitCnt.text = Language.Get("LimitGiftCnt", goods.buyCountLimit - goods.getCount);
|
|
m_Buy.SetActive(goods.getCount < goods.buyCountLimit);
|
m_SellOut.SetActive(goods.getCount >= goods.buyCountLimit);
|
|
for (int i = 0; i < m_Items.Length; i++)
|
{
|
if (i >= goods.items.Count)
|
{
|
m_Items[i].SetActive(false);
|
continue;
|
}
|
m_Items[i].SetActive(true);
|
|
var itemID = goods.items[i][0];
|
var ItemCell = m_Items[i].Item_Cell;
|
var Item = ItemConfig.Get(itemID);
|
ItemCellModel cellModel = new ItemCellModel(itemID, true, (ulong)goods.items[i][1]);
|
ItemCell.Init(cellModel);
|
ItemCell.button.RemoveAllListeners();
|
ItemCell.button.AddListener(() =>
|
{
|
ItemTipUtility.Show(itemID);
|
});
|
|
}
|
int moneyType = 0;
|
int.TryParse(goods.orderInfo, out moneyType);
|
|
m_MustBuy.SetActive(goods.money == 0);
|
var onSaleImg = m_Buy.FindComponent("Image", "saleImage") as Image;
|
onSaleImg?.SetActive(false);
|
if (goods.money == 0)
|
{
|
m_BuyText.text = Language.Get("Z2014");
|
}
|
else if (moneyType != 0)
|
{
|
m_BuyText.text = goods.money + RichTextMsgReplaceConfig.GetRichReplace("MONEY", moneyType);
|
}
|
else
|
{
|
m_BuyText.text = Language.Get("PayMoneyNum", UIHelper.GetMoneyFormat(goods.money));
|
onSaleImg.SetActiveIL(PlayerDatas.Instance.baseData.IsActive90Off);
|
}
|
|
m_Buy.SetListener(() => {
|
|
if (goodsID == 0)
|
{
|
dayPackageItemModel.RequestReward();
|
}
|
else if (moneyType != 0)
|
{
|
storeModel.SendBuyShopItem(StoreConfig.Get(goodsID - 100000000), 1);
|
}
|
else
|
{
|
m_Buy.interactable = false;
|
|
vipModel.OpenFreePlat(title, goods.money, goods.orderInfo);
|
}
|
|
});
|
|
}
|
|
|
private void Update()
|
{
|
if (m_Buy.interactable == false)
|
{
|
m_time += Time.deltaTime;
|
int showTime = (int)(3 - m_time);
|
if (showTime <= 0)
|
{
|
m_Buy.interactable = true;
|
m_Buy.SetColorful(m_BuyText, true);
|
m_time = 0;
|
}
|
else
|
{
|
m_Buy.SetColorful(m_BuyText, false);
|
}
|
}
|
}
|
}
|
|
}
|