//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Tuesday, May 08, 2018
|
//--------------------------------------------------------
|
|
using System;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine;
|
using UnityEngine.UI;
|
|
namespace vnxbqy.UI
|
{
|
|
public class ElderGodAreaExitWin : Window
|
{
|
[SerializeField] RectTransform m_Content;
|
[SerializeField] Text m_ExitTimer;
|
[SerializeField] Button m_Exit;
|
|
bool excutedAutoExit = true;
|
float timer = 0f;
|
DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
|
#region Built-in
|
protected override void BindController()
|
{
|
}
|
|
protected override void AddListeners()
|
{
|
m_Exit.AddListener(ExitDungeon);
|
}
|
|
protected override void OnPreOpen()
|
{
|
m_Content.SetActive(false);
|
}
|
|
protected override void OnAfterOpen()
|
{
|
StartCoroutine("Co_DelayShow");
|
}
|
|
protected override void OnPreClose()
|
{
|
}
|
|
protected override void OnAfterClose()
|
{
|
}
|
|
|
protected override void LateUpdate()
|
{
|
base.LateUpdate();
|
|
var endTime = dungeonModel.GetCoolDownEndTime(DungeonCoolDownType.LeaveMap);
|
if (endTime > TimeUtility.ServerNow)
|
{
|
timer -= Time.deltaTime;
|
if (timer < 0f)
|
{
|
timer += 0.5f;
|
var seconds = (endTime - TimeUtility.ServerNow).TotalSeconds;
|
m_ExitTimer.text = Language.Get("DungeonVictoryWin_Btn_Exit_1", Mathf.Clamp((int)seconds, 0, int.MaxValue));
|
|
if (seconds <= 0 && !excutedAutoExit)
|
{
|
excutedAutoExit = true;
|
ExitDungeon();
|
}
|
}
|
|
if (!m_ExitTimer.gameObject.activeInHierarchy)
|
{
|
m_ExitTimer.SetActive(true);
|
}
|
}
|
else
|
{
|
if (m_ExitTimer.gameObject.activeInHierarchy)
|
{
|
m_ExitTimer.SetActive(false);
|
}
|
}
|
}
|
#endregion
|
|
IEnumerator Co_DelayShow()
|
{
|
yield return WaitingForSecondConst.WaitMS2000;
|
|
m_Content.SetActive(true);
|
}
|
|
private void ExitDungeon()
|
{
|
dungeonModel.ExitCurrentDungeon();
|
}
|
|
}
|
|
}
|