//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, September 12, 2017
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
|
namespace vnxbqy.UI
|
{
|
|
public class DungeonDefeatedWin : Window
|
{
|
[SerializeField] Transform m_ContainerPoivt;
|
[SerializeField] Text m_ExitTimer;
|
[SerializeField] ButtonEx m_Exit;
|
|
DungeonModel model { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
|
float timer = 0f;
|
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_Exit.AddListener(ExitDungeon);
|
}
|
|
protected override void OnPreOpen()
|
{
|
timer = 0f;
|
m_ContainerPoivt.SetActive(false);
|
}
|
|
protected override void OnAfterOpen()
|
{
|
if (PlayerDatas.Instance.baseData.MapID == IceCrystalVeinModel.ICECRYSTALVEIN_MAPID)
|
{
|
var iceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>();
|
iceCrystalVeinModel.IsIceCrystalVein_Copy = true;
|
}
|
}
|
|
protected override void OnPreClose()
|
{
|
|
}
|
|
protected override void OnAfterClose()
|
{
|
var iceCrystalVeinModel = ModelCenter.Instance.GetModel<IceCrystalVeinModel>();
|
if (iceCrystalVeinModel.IsIceCrystalVein_Copy)
|
{
|
iceCrystalVeinModel.IsIceCrystalVein_Copy = false;
|
PopupWindowsProcessor.Instance.Add("IceCrystalVeinWin");
|
}
|
}
|
|
protected override void OnActived()
|
{
|
base.OnActived();
|
|
var dataMapId = model.GetDataMapIdByMapId(PlayerDatas.Instance.baseData.MapID);
|
var config = DungeonOpenTimeConfig.Get(dataMapId);
|
|
StartCoroutine(Co_DelayDisplay(config.DelayTime * 0.001f));
|
}
|
#endregion
|
|
protected override void LateUpdate()
|
{
|
base.LateUpdate();
|
|
timer -= Time.deltaTime;
|
if (timer < 0f)
|
{
|
timer = 1f;
|
var endTime = model.GetCoolDownEndTime(DungeonCoolDownType.LeaveMap);
|
var seconds = (endTime - TimeUtility.ServerNow).TotalSeconds;
|
m_ExitTimer.text = Language.Get("DungeonVictoryWin_Btn_Exit_1", Mathf.Clamp((int)seconds, 0, int.MaxValue));
|
}
|
}
|
|
private void ExitDungeon()
|
{
|
model.ExitCurrentDungeon();
|
CloseClick();
|
}
|
|
IEnumerator Co_DelayDisplay(float _delay)
|
{
|
yield return new WaitForSeconds(_delay);
|
|
var endTime = model.GetCoolDownEndTime(DungeonCoolDownType.LeaveMap);
|
var seconds = (endTime - TimeUtility.ServerNow).TotalSeconds;
|
timer = 0f;
|
m_ExitTimer.text = Language.Get("DungeonVictoryWin_Btn_Exit_1", Mathf.Clamp((int)seconds, 0, int.MaxValue));
|
m_ExitTimer.SetActive(true);
|
m_ContainerPoivt.SetActive(true);
|
|
}
|
|
}
|
|
}
|
|
|
|
|