//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Monday, January 28, 2019
|
//--------------------------------------------------------
|
|
using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using vnxbqy.UI;
|
using System.Collections.Generic;
|
using System.Linq;
|
|
public class CrossServerBattleFieldRebornWin : ILWindow
|
{
|
ButtonEx safeReborn;
|
Text safeCD;
|
Button itemReborn;
|
Text itemCnt;
|
RichText rebornInfo;
|
|
PlayerDeadModel deadModel { get { return ModelCenter.Instance.GetModelEx<PlayerDeadModel>(); } }
|
PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
|
#region Built-in
|
protected override void BindController()
|
{
|
safeReborn = proxy.GetWidgtEx<ButtonEx>("Btn_SafeReborn");
|
safeCD = proxy.GetWidgtEx<Text>("SafeReborn");
|
itemReborn = proxy.GetWidgtEx<Button>("Btn_RebornItem");
|
itemCnt = proxy.GetWidgtEx<Text>("num");
|
rebornInfo = proxy.GetWidgtEx<RichText>("Text");
|
}
|
|
float cdTime;
|
protected override void AddListeners()
|
{
|
safeReborn.SetListener(()=> {
|
deadModel.SendRebornQuest(0);
|
});
|
|
itemReborn.SetListener(() => {
|
if (ILCrossServerModel.Instance.playerInfo.itemRebornCount >= ILCrossServerModel.Instance.CrossBattlefieldRebornCount)
|
{
|
SysNotifyMgr.Instance.ShowTip("CrossBattlefieldItemRebornLimit");
|
return;
|
}
|
|
if (packModel.GetItemCountByID(PackType.Item, ILCrossServerModel.Instance.CrossBattlefieldRebornItemID) == 0)
|
{
|
SysNotifyMgr.Instance.ShowTip("RealmLevelUpError_3");
|
return;
|
}
|
deadModel.SendRebornQuest(3);
|
});
|
}
|
|
protected override void OnPreOpen()
|
{
|
deadModel.CloseRebornWinEvent += PlayerRebornSuccess;
|
GlobalTimeEvent.Instance.secondEvent += OnSecondEvent;
|
|
cdTime = Time.time;
|
OnSecondEvent();
|
itemCnt.text = packModel.GetItemCountByID(PackType.Item, ILCrossServerModel.Instance.CrossBattlefieldRebornItemID).ToString();
|
|
var count = ILCrossServerModel.Instance.CrossBattlefieldRebornCount - ILCrossServerModel.Instance.playerInfo.itemRebornCount;
|
rebornInfo.text = Language.Get("CrossBattleField74", ILCrossServerModel.Instance.CrossBattlefieldRebornItemID,
|
UIHelper.AppendColor(count == 0 ? TextColType.Red:TextColType.Green, count.ToString()));
|
}
|
|
protected override void OnPreClose()
|
{
|
deadModel.CloseRebornWinEvent -= PlayerRebornSuccess;
|
GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
|
}
|
|
void OnSecondEvent()
|
{
|
//前5秒不能点安全复活
|
int passTime = (int)(Time.time - cdTime);
|
int autoSeconds = GeneralDefine.dungeonRebornClientTimes[GeneralDefine.CrossBattleFieldMapID];
|
if (passTime <= 5)
|
{
|
safeReborn.SetColorful(null, false);
|
safeReborn.interactable = false;
|
safeCD.text = string.Format("{0}({1})", Language.Get("L2007"), 5 - passTime);
|
}
|
else
|
{
|
safeReborn.SetColorful(null, true);
|
safeReborn.interactable = true;
|
safeCD.text = string.Format("{0}({1})", Language.Get("L2007"), autoSeconds - passTime);
|
}
|
if (autoSeconds <= passTime)
|
{
|
deadModel.SendRebornQuest(0);
|
GlobalTimeEvent.Instance.secondEvent -= OnSecondEvent;
|
return;
|
}
|
}
|
#endregion
|
|
void PlayerRebornSuccess()
|
{
|
WindowCenter.Instance.CloseIL<CrossServerBattleFieldRebornWin>();
|
}
|
}
|