//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, June 11, 2019
|
//--------------------------------------------------------
|
|
using UnityEngine.UI;
|
using vnxbqy.UI;
|
using System.Collections.Generic;
|
using UnityEngine;
|
|
public class HolidayRecharge2GiftWin : ILWindow
|
{
|
ButtonEx receiveBtn;
|
Button rechargeBtn;
|
Text receiveBtnText;
|
Text TimeTxt;
|
List<ItemCell> itemBaiscs = new List<ItemCell>();
|
Text rechargeYet;
|
|
HolidayRecharge2GiftModel rechargeModel = HolidayRecharge2GiftModel.Instance;
|
PackModel playerPack { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
itemBaiscs.Add(GetWidgt<ItemCell>("ItemCell1"));
|
itemBaiscs.Add(GetWidgt<ItemCell>("ItemCell2"));
|
itemBaiscs.Add(GetWidgt<ItemCell>("ItemCell3"));
|
itemBaiscs.Add(GetWidgt<ItemCell>("ItemCell4"));
|
itemBaiscs.Add(GetWidgt<ItemCell>("ItemCell5"));
|
|
receiveBtn = GetWidgt<ButtonEx>("ReceiveButton");
|
rechargeBtn = GetWidgt<Button>("RechargeButton");
|
TimeTxt = GetWidgt<Text>("ActivityDesText");
|
receiveBtnText = GetWidgt<Text>("Text");
|
rechargeYet = GetWidgt<Text>("RechargeText");
|
}
|
|
protected override void AddListeners()
|
{
|
rechargeBtn.AddListener(ClickRecharge);
|
receiveBtn.AddListener(OnReceiveGift);
|
}
|
|
protected override void OnPreOpen()
|
{
|
rechargeModel.accumulateRechargeUpdate += DisplayButton;
|
DisplayButton();
|
DisplayItems();
|
DisplayOpenTime();
|
}
|
|
|
protected override void OnPreClose()
|
{
|
rechargeModel.accumulateRechargeUpdate -= DisplayButton;
|
}
|
|
#endregion
|
|
|
void DisplayOpenTime()
|
{
|
OperationAccumulateRecharge operation;
|
if (OperationTimeHepler.Instance.TryGetOperation(HolidayRecharge2GiftModel.operationType, out operation))
|
{
|
TimeTxt.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime());
|
}
|
}
|
|
void DisplayButton()
|
{
|
OperationBase operationBase;
|
if (OperationTimeHepler.Instance.TryGetOperationTime(HolidayRecharge2GiftModel.operationType, out operationBase))
|
{
|
OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
|
var reward = operation.GetReward(TimeUtility.ServerNow);
|
if (reward != null)
|
{
|
if (reward.recharges.Count > 0)
|
{
|
var recharge = reward.recharges[0];
|
|
if (rechargeModel.SatisfyGetReward(recharge))
|
{
|
receiveBtnText.text = Language.Get("AccumulateRecharge_GetReward");
|
receiveBtn.SetColorful(receiveBtnText, true);
|
receiveBtn.interactable = true;
|
}
|
else if (rechargeModel.IsRewardGot(recharge))
|
{
|
receiveBtnText.text = Language.Get("Z1044");
|
receiveBtn.SetColorful(receiveBtnText, false);
|
receiveBtn.interactable = false;
|
}
|
else
|
{
|
receiveBtnText.text = Language.Get("AccumulateRecharge_GetReward");
|
receiveBtn.SetColorful(receiveBtnText, false);
|
receiveBtn.interactable = true;
|
}
|
|
}
|
|
rechargeYet.text = Language.Get("rechargeYet", UIHelper.GetMoneyFormat(rechargeModel.rechargeTotal));
|
}
|
}
|
}
|
|
private void DisplayItems()
|
{
|
int index = 0;
|
OperationBase operationBase;
|
OperationAccumulateRecharge.Recharge recharge = null;
|
if (OperationTimeHepler.Instance.TryGetOperationTime(HolidayRecharge2GiftModel.operationType, out operationBase))
|
{
|
OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
|
var reward = operation.GetReward(TimeUtility.ServerNow);
|
if (index >= 0 && index < reward.recharges.Count)
|
{
|
recharge = reward.recharges[index];
|
}
|
}
|
for (int i = 0; i < itemBaiscs.Count; i++)
|
{
|
if (recharge != null && i < recharge.items.Count)
|
{
|
var item = recharge.items[i];
|
itemBaiscs[i].SetActiveIL(true);
|
ItemCellModel itemCellModel = new ItemCellModel(item.id, true, (ulong)item.count);
|
itemBaiscs[i].Init(itemCellModel);
|
itemBaiscs[i].button.AddListener(() =>
|
{
|
ItemTipUtility.Show(item.id);
|
});
|
|
itemBaiscs[i].auctionIcon.SetActiveIL(item.bind > 0 ? true : false);
|
}
|
else
|
{
|
itemBaiscs[i].SetActiveIL(false);
|
}
|
}
|
}
|
|
|
private void OnReceiveGift()
|
{
|
OperationBase operationBase;
|
if (OperationTimeHepler.Instance.TryGetOperationTime(HolidayRecharge2GiftModel.operationType, out operationBase))
|
{
|
OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
|
var reward = operation.GetReward(TimeUtility.ServerNow);
|
if (reward != null)
|
{
|
if (reward.recharges.Count > 0)
|
{
|
var recharge = reward.recharges[0];
|
|
if (rechargeModel.SatisfyGetReward(recharge))
|
{
|
if (playerPack.GetEmptyGridCount(PackType.Item) > recharge.items.Count)
|
{
|
rechargeModel.GetAccumulateRechargeReward(recharge);
|
}
|
else
|
{
|
SysNotifyMgr.Instance.ShowTip("BagFull");
|
}
|
}
|
}
|
}
|
}
|
}
|
|
private void ClickRecharge()
|
{
|
WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc1);
|
}
|
}
|