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