| //-------------------------------------------------------- | 
| //    [Author]:           第二世界 | 
| //    [  Date ]:           Friday, October 27, 2017 | 
| //-------------------------------------------------------- | 
|   | 
| using System; | 
| using System.Collections; | 
| using System.Collections.Generic; | 
| using UnityEngine; | 
| using UnityEngine.UI; | 
|   | 
| namespace vnxbqy.UI | 
| { | 
|   | 
|     public class DungeonStageHintWin : Window | 
|     { | 
|         [SerializeField] | 
|         Text m_Hint; | 
|         [SerializeField] | 
|         float m_Duration = 4f; | 
|   | 
|         float endTime = float.MaxValue; | 
|   | 
|         DungeonModel m_Model; | 
|         DungeonModel model { | 
|             get { | 
|                 return m_Model ?? (m_Model = ModelCenter.Instance.GetModel<DungeonModel>()); | 
|             } | 
|         } | 
|   | 
|         #region Built-in | 
|         protected override void BindController() | 
|         { | 
|         } | 
|   | 
|         protected override void AddListeners() | 
|         { | 
|         } | 
|   | 
|         protected override void OnPreOpen() | 
|         { | 
|             endTime = 0f; | 
|             m_Hint.SetActive(false); | 
|         } | 
|   | 
|         protected override void OnAfterOpen() | 
|         { | 
|             model.dungeonStageChangeEvent += OnStageChange; | 
|         } | 
|   | 
|         protected override void OnPreClose() | 
|         { | 
|             model.dungeonStageChangeEvent -= OnStageChange; | 
|         } | 
|   | 
|         protected override void OnAfterClose() | 
|         { | 
|         } | 
|         #endregion | 
|   | 
|         private void OnStageChange(int _stage) | 
|         { | 
|             endTime = Time.time + 4f; | 
|             m_Hint.SetActive(true); | 
|             m_Hint.text = Language.Get("AttackNumber", _stage); | 
|         } | 
|   | 
|         protected override void LateUpdate() | 
|         { | 
|             base.LateUpdate(); | 
|   | 
|             if (Time.time < endTime) | 
|             { | 
|                 if (m_Hint != null && !m_Hint.gameObject.activeInHierarchy) | 
|                 { | 
|                     m_Hint.SetActive(true); | 
|                 } | 
|             } | 
|             else | 
|             { | 
|                 if (m_Hint.gameObject.activeInHierarchy) | 
|                 { | 
|                     m_Hint.SetActive(false); | 
|                 } | 
|             } | 
|   | 
|         } | 
|   | 
|     } | 
|   | 
| } |