//-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Sunday, December 24, 2017 //-------------------------------------------------------- using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEngine.UI; namespace vnxbqy.UI { public class DemonJarBossRebornCoolDown : MonoBehaviour { [SerializeField] TimerBehaviour m_Timer; FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel(); } } DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel(); } } private void OnEnable() { //UpdateBossRebornCoolDown(demonJarModel.GetRecommendBoss()); //findPreciousModel.bossInfoUpdateEvent += UpdateBossRebornCoolDown; //dungeonModel.dungeonRecordChangeEvent += OnDungeonRecodChange; //findPreciousModel.bossSubscribeChangeEvent += UpdateBossRebornCoolDown; } private void OnDisable() { //findPreciousModel.bossInfoUpdateEvent -= UpdateBossRebornCoolDown; //findPreciousModel.bossSubscribeChangeEvent -= UpdateBossRebornCoolDown; //dungeonModel.dungeonRecordChangeEvent -= OnDungeonRecodChange; } private void UpdateBossRebornCoolDown(int _bossId) { var latestUnLockBoss = demonJarModel.GetRecommendBoss(); if (latestUnLockBoss != _bossId) { return; } FindPreciousModel.BossInfo bossInfo; if (findPreciousModel.TryGetBossInfo(latestUnLockBoss, out bossInfo)) { m_Timer.SetActive(!bossInfo.IsBossAlive()); if (!bossInfo.IsBossAlive()) { m_Timer.Begin((int)(bossInfo.refreshTime - TimeUtility.ServerNow).TotalSeconds); m_Timer.timeShow.color = UIHelper.GetUIColor(demonJarModel.GetSurplusTimes() > 0 ? TextColType.Green : TextColType.Red); } } else { m_Timer.SetActive(false); } } private void OnDungeonRecodChange(int _dataMapId) { m_Timer.timeShow.color = UIHelper.GetUIColor(demonJarModel.GetSurplusTimes() > 0 ? TextColType.Green : TextColType.Red); } } }