//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Wednesday, September 13, 2017 //-------------------------------------------------------- using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; namespace vnxbqy.UI { public class CrossServerOneVsOneWaitPlayerCoolDownWin : Window { [SerializeField] Transform m_CoolDownContainer; [SerializeField] Text m_CoolDown; DateTime beginTime = DateTime.Now; DungeonModel m_Model; DungeonModel model { get { return m_Model ?? (m_Model = ModelCenter.Instance.GetModel()); } } bool isEndWait = false; #region Built-in protected override void BindController() { } protected override void AddListeners() { } protected override void OnPreOpen() { isEndWait = false; beginTime = model.GetCoolDownEndTime(DungeonCoolDownType.WaitPlayer); model.dungeonCoolDownEvent += OnBeginTimeEvent; } protected override void OnAfterOpen() { } protected override void OnPreClose() { model.dungeonCoolDownEvent -= OnBeginTimeEvent; } protected override void OnAfterClose() { } #endregion private void OnBeginTimeEvent(DungeonCoolDownType _type) { if (_type != DungeonCoolDownType.WaitPlayer) { isEndWait = true; return; } beginTime = model.GetCoolDownEndTime(_type); } protected override void LateUpdate() { base.LateUpdate(); if (beginTime > TimeUtility.ServerNow && !isEndWait) { var surplusTime = Mathf.Clamp((int)(beginTime - TimeUtility.ServerNow).TotalSeconds,0,int.MaxValue); m_CoolDown.text = Language.Get("CrossServer120", surplusTime); if (!m_CoolDownContainer.gameObject.activeInHierarchy) { m_CoolDownContainer.SetActive(true); } } else { if (m_CoolDownContainer.gameObject.activeInHierarchy) { m_CoolDownContainer.SetActive(false); } } } } }