//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, January 28, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using vnxbqy.UI;
|
|
public class MergeServerRechargeWin : ILWindow
|
{
|
Text m_OpenTime;
|
Text needMoney;
|
Image getYet;
|
Button rechargeBtn;
|
Button getBtn;
|
|
MergeServerRechargeModel model = MergeServerRechargeModel.Instance;
|
|
|
#region Built-in
|
protected override void BindController()
|
{
|
needMoney = proxy.GetWidgtEx<Text>("money");
|
getYet = proxy.GetWidgtEx<Image>("getyet");
|
getBtn = proxy.GetWidgtEx<Button>("getButton");
|
rechargeBtn = proxy.GetWidgtEx<Button>("rechargeButton");
|
m_OpenTime = proxy.GetWidgtEx<Text>("Txt_CoolDown");
|
}
|
|
protected override void AddListeners()
|
{
|
rechargeBtn.SetListener(()=> {
|
WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.VipRechargeFunc1);
|
});
|
|
getBtn.SetListener(() => {
|
|
OperationBase operationBase;
|
OperationAccumulateRecharge.Recharge recharge = null;
|
if (OperationTimeHepler.Instance.TryGetOperationTime(model.operationType, out operationBase))
|
{
|
OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
|
var reward = operation.GetReward(TimeUtility.ServerNow);
|
recharge = reward.recharges[0];
|
model.GetAccumulateRechargeReward(recharge);
|
}
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
model.accumulateRechargeUpdate += DisplayRechargeState;
|
Display();
|
}
|
|
protected override void OnAfterOpen()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
model.accumulateRechargeUpdate -= DisplayRechargeState;
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
#endregion
|
|
void Display()
|
{
|
DisplayRechargeState();
|
DisplayOpenTime();
|
}
|
|
void DisplayRechargeState()
|
{
|
OperationBase operationBase;
|
OperationAccumulateRecharge.Recharge recharge = null;
|
if (OperationTimeHepler.Instance.TryGetOperationTime(model.operationType, out operationBase))
|
{
|
OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
|
var reward = operation.GetReward(TimeUtility.ServerNow);
|
|
recharge = reward.recharges[0];
|
bool got = model.IsRewardGot(recharge);
|
bool canGet = model.SatisfyGetReward(recharge);
|
getYet.SetActiveIL(got);
|
rechargeBtn.SetActiveIL(!got && !canGet);
|
getBtn.SetActiveIL(canGet);
|
needMoney.text = Language.Get("NeedMoney", UIHelper.GetMoneyFormat(Math.Max(recharge.requireGold - model.rechargeTotal, 0)));
|
}
|
}
|
|
|
void DisplayOpenTime()
|
{
|
OperationBase operationBase = null;
|
if (OperationTimeHepler.Instance.TryGetOperationTime(model.operationType, out operationBase))
|
{
|
OperationAccumulateRecharge operation = operationBase as OperationAccumulateRecharge;
|
m_OpenTime.text = StringUtility.Contact(Language.Get("ExpActivity_Text1"), operation.ToDisplayTime());
|
|
}
|
}
|
|
|
}
|