using vnxbqy.UI;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
public class NeedForWhiteCell : ILBehaviour
|
{
|
Text goodsName;
|
List<ItemCell> items = new List<ItemCell>();
|
Text addPower;
|
Text Text_Day;
|
Image StateOver;
|
Image StateBuy;
|
Image StateGot;
|
|
Button Btn_Buy;
|
Button Btn_Get;
|
Text PriceBuy;
|
Text TimeText;
|
RectTransform PowerObject;
|
|
int goodsID;
|
protected override void Awake()
|
{
|
|
goodsName = proxy.GetWidgtEx<Text>("Text_Name");
|
items.Clear();
|
items.Add(proxy.GetWidgtEx<ItemCell>("ItemCell1"));
|
items.Add(proxy.GetWidgtEx<ItemCell>("ItemCell2"));
|
items.Add(proxy.GetWidgtEx<ItemCell>("ItemCell3"));
|
addPower = proxy.GetWidgtEx<Text>("Text_AddPower");
|
Text_Day = proxy.GetWidgtEx<Text>("Text_Day");
|
StateOver = proxy.GetWidgtEx<Image>("over");
|
StateBuy = proxy.GetWidgtEx<Image>("buyyet");
|
StateGot = proxy.GetWidgtEx<Image>("gotyet");
|
Btn_Buy = proxy.GetWidgtEx<Button>("Button_Buy");
|
Btn_Get = proxy.GetWidgtEx<Button>("Button_Get");
|
PriceBuy = proxy.GetWidgtEx<Text>("Text_NeedMoeny");
|
TimeText = proxy.GetWidgtEx<Text>("TimeText");
|
PowerObject = proxy.GetWidgtEx<RectTransform>("PowerObject");
|
}
|
protected override void OnEnable()
|
{
|
GlobalTimeEvent.Instance.secondEvent += RefreshSecond;
|
NeedForWhiteModel.Instance.UpdateNeedForWhiteEvent += UpdateNeedForWhiteEvent;
|
}
|
|
protected override void OnDisable()
|
{
|
GlobalTimeEvent.Instance.secondEvent -= RefreshSecond;
|
NeedForWhiteModel.Instance.UpdateNeedForWhiteEvent -= UpdateNeedForWhiteEvent;
|
}
|
|
public void Display(int id)
|
{
|
goodsID = id;
|
var goods = NeedForWhiteModel.Instance.NeedForWhiteDic[id];
|
goodsName.text = goods.Name;
|
var awards = goods.AwardItem.GetAwardItem(PlayerDatas.Instance.baseData.Job);
|
for (int i = 0; i < items.Count; i++)
|
{
|
if (i < awards.Count)
|
{
|
items[i].SetActiveIL(true);
|
var itemId = awards[i].id;
|
var model = new ItemCellModel(itemId, false, (ulong)awards[i].count);
|
items[i].Init(model);
|
items[i].auctionIcon.SetActiveIL(awards[i].bind != 0);
|
items[i].button.SetListener(() =>
|
{
|
ItemTipUtility.Show(itemId);
|
});
|
}
|
else
|
{
|
items[i].SetActiveIL(false);
|
}
|
}
|
PriceBuy.text = goods.NeedMoney.ToString();
|
addPower.text = goods.AddPower.ToString();
|
PowerObject.SetActiveIL(goods.AddPower > 0);
|
Text_Day.text = goods.Day.ToString();
|
//-1 未购买 -2已领取 -3可领取 -4过期 其他数值为倒计时时间秒
|
var state = NeedForWhiteModel.Instance.GetState(id);
|
StateOver.SetActiveIL(state == -4);
|
StateBuy.SetActiveIL(state != -1 && state != -4);
|
StateGot.SetActiveIL(state == -2);
|
|
Btn_Buy.SetActiveIL(state == -1);
|
Btn_Buy.SetListener(BuyJP);
|
Btn_Get.SetActiveIL(state == -3);
|
Btn_Get.SetListener(()=> {
|
NeedForWhiteModel.Instance.BuyReceive(goodsID);
|
});
|
TimeText.SetActiveIL(state > 0);
|
if (state > 0)
|
{
|
TimeText.text = Language.Get("jpbnget", TimeUtility.SecondsToDHMS(state));
|
}
|
}
|
|
private void RefreshSecond()
|
{
|
//-1 未购买 -2已领取 -3可领取 -4过期 其他数值为倒计时时间秒
|
var state = NeedForWhiteModel.Instance.GetState(goodsID);
|
TimeText.SetActiveIL(state > 0);
|
if (state > 0)
|
{
|
TimeText.text = Language.Get("jpbnget", TimeUtility.SecondsToDHMS(state));
|
}
|
}
|
|
void BuyJP()
|
{
|
var NeedForWhite = NeedForWhiteModel.Instance.NeedForWhiteDic[goodsID];
|
int Money = (int)UIHelper.GetMoneyCnt(1);
|
if (Money >= NeedForWhite.NeedMoney)
|
{
|
ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), string.Format(Language.Get("Consumption_Tips"),
|
NeedForWhite.NeedMoney, NeedForWhite.Name, NeedForWhite.NeedMoney, NeedForWhite.Day), (bool isOk) =>
|
{
|
if (isOk)
|
{
|
NeedForWhiteModel.Instance.BuyReceive(goodsID);
|
}
|
});
|
}
|
else
|
{
|
WindowCenter.Instance.Open<RechargeTipWin>();
|
}
|
}
|
|
void UpdateNeedForWhiteEvent()
|
{
|
Display(goodsID);
|
}
|
|
}
|