//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Tuesday, May 08, 2018 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace Snxxz.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(); } } #region Built-in protected override void BindController() { } protected override void AddListeners() { m_Exit.AddListener(ExitDungeon); } protected override void OnPreOpen() { m_Content.gameObject.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.GetDungeonCoolDownEndTime(DungeonCoolDownType.LeaveMap); if (endTime > DateTime.Now) { timer -= Time.deltaTime; if (timer < 0f) { timer += 0.5f; var seconds = (endTime - DateTime.Now).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.gameObject.SetActive(true); } } else { if (m_ExitTimer.gameObject.activeInHierarchy) { m_ExitTimer.gameObject.SetActive(false); } } } #endregion IEnumerator Co_DelayShow() { yield return WaitingForSecondConst.WaitMS2000; m_Content.gameObject.SetActive(true); } private void ExitDungeon() { dungeonModel.ExitCurrentDungeon(); } } }