//-------------------------------------------------------- 
 | 
//    [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<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(); 
 | 
        } 
 | 
  
 | 
    } 
 | 
  
 | 
} 
 |