using System;
|
using UnityEngine;
|
using UnityEngine.UI;
|
using System.Collections;
|
|
namespace vnxbqy.UI
|
{
|
public class BattlePrepareCoolDownWin : Window
|
{
|
[SerializeField] ScaleTween scaleTween;
|
[SerializeField] ScaleTween virtualscaleTween;
|
[SerializeField] UIAlphaTween virtualAlphaTween;
|
[SerializeField] Image virtualDownImage;
|
[SerializeField] Image coolDownImg;
|
|
DungeonModel m_Model;
|
DungeonModel model
|
{
|
get
|
{
|
return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>());
|
}
|
}
|
DateTime beginTime = DateTime.Now;
|
int coolTime = -1;
|
protected override void BindController()
|
{
|
|
}
|
|
protected override void AddListeners()
|
{
|
|
}
|
protected override void OnPreOpen()
|
{
|
coolTime = -1;
|
virtualDownImage.SetActive(true);
|
coolDownImg.SetActive(true);
|
scaleTween.SetStartState();
|
virtualscaleTween.SetStartState();
|
beginTime = model.GetCoolDownEndTime(DungeonCoolDownType.WaitStart);
|
DTC0320_tagFBEnd.UpdateFBEndEvent += UpdateFBEnd;
|
}
|
|
protected override void OnAfterOpen()
|
{
|
|
}
|
|
protected override void OnPreClose()
|
{
|
DTC0320_tagFBEnd.UpdateFBEndEvent -= UpdateFBEnd;
|
}
|
|
protected override void OnAfterClose()
|
{
|
|
}
|
|
private void UpdateFBEnd()
|
{
|
CloseWin();
|
}
|
|
protected override void LateUpdate()
|
{
|
base.LateUpdate();
|
UpdateCoolTime();
|
}
|
|
private void UpdateCoolTime()
|
{
|
if (beginTime > TimeUtility.ServerNow)
|
{
|
var surplusTime = Mathf.Clamp((int)(beginTime - TimeUtility.ServerNow).TotalSeconds, 0, int.MaxValue);
|
if (coolTime != surplusTime)
|
{
|
coolTime = surplusTime;
|
RefreshPrepareTime(surplusTime);
|
}
|
}
|
else
|
{
|
CloseWin();
|
}
|
}
|
|
private void RefreshPrepareTime(int time)
|
{
|
switch (time)
|
{
|
case 2:
|
coolDownImg.SetSprite("XMZZCoolDown3");
|
virtualDownImage.SetSprite("XMZZCoolDown3");
|
scaleTween.Play(() => {
|
virtualAlphaTween.Play();
|
virtualscaleTween.Play();
|
});
|
break;
|
case 1:
|
coolDownImg.SetSprite("XMZZCoolDown2");
|
virtualDownImage.SetSprite("XMZZCoolDown2");
|
scaleTween.Play(() => {
|
virtualAlphaTween.Play();
|
virtualscaleTween.Play();
|
});
|
break;
|
case 0:
|
coolDownImg.SetSprite("XMZZCoolDown1");
|
virtualDownImage.SetSprite("XMZZCoolDown1");
|
scaleTween.Play(() => {
|
virtualAlphaTween.Play();
|
virtualscaleTween.Play(() => {
|
CloseWin();
|
});
|
});
|
break;
|
default:
|
CloseWin();
|
break;
|
}
|
}
|
|
|
private void CloseWin()
|
{
|
CloseImmediately();
|
int mapId = PlayerDatas.Instance.baseData.MapID;
|
int dataMapId = model.GetDataMapIdByMapId(mapId);
|
switch(dataMapId)
|
{
|
case CrossServerOneVsOneModel.CrossServerDataMapId:
|
break;
|
default:
|
if (!WindowCenter.Instance.IsOpen<DungeonEndCoolDownWin>())
|
{
|
WindowCenter.Instance.Open<DungeonEndCoolDownWin>();
|
}
|
break;
|
}
|
|
}
|
}
|
}
|