//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Sunday, December 24, 2017
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using System.Collections.Generic;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
|
public class DemonJarBossRebornCoolDown : MonoBehaviour
|
{
|
[SerializeField] TimerBehaviour m_Timer;
|
|
FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } }
|
DemonJarModel demonJarModel { get { return ModelCenter.Instance.GetModel<DemonJarModel>(); } }
|
DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
|
|
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.gameObject.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.gameObject.SetActive(false);
|
}
|
}
|
|
private void OnDungeonRecodChange(int _dataMapId)
|
{
|
m_Timer.timeShow.color = UIHelper.GetUIColor(demonJarModel.GetSurplusTimes() > 0 ? TextColType.Green : TextColType.Red);
|
}
|
|
}
|
|
}
|