//--------------------------------------------------------
|
// [Author]: 第二世界
|
// [ Date ]: Saturday, April 27, 2019
|
//--------------------------------------------------------
|
using UnityEngine;
|
using System.Collections;
|
using UnityEngine.UI;
|
|
namespace Snxxz.UI
|
{
|
|
public class MainWinYinJiBehaviour : MonoBehaviour
|
{
|
[SerializeField] RectTransform m_Content;
|
[SerializeField] Image m_Circle;
|
[SerializeField] Text m_Number;
|
|
float circleTotalTime { get { return PlayerDatas.Instance.baseData.yinjiTime * 0.001f; } }
|
|
YinJiModel model { get { return ModelCenter.Instance.GetModel<YinJiModel>(); } }
|
|
private void OnEnable()
|
{
|
PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefresh;
|
DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent += DisplayYinJiCount;
|
DisplayYinJiCount();
|
}
|
|
private void OnDisable()
|
{
|
DTC0102_tagCDBPlayer.afterPlayerDataInitializeEvent -= DisplayYinJiCount;
|
PlayerDatas.Instance.playerDataRefreshEvent -= OnPlayerDataRefresh;
|
}
|
|
private void LateUpdate()
|
{
|
if (model.yinjiEndTime > Time.time)
|
{
|
var fillAmount = 0f;
|
if (circleTotalTime != 0f)
|
{
|
fillAmount = (model.yinjiEndTime - Time.time) / circleTotalTime;
|
}
|
|
m_Circle.fillAmount = fillAmount;
|
}
|
else
|
{
|
if (m_Circle.fillAmount != 0f)
|
{
|
m_Circle.fillAmount = 0f;
|
}
|
}
|
|
if (PlayerDatas.Instance.baseData.yinjiCount > 0)
|
{
|
if (!this.gameObject.activeSelf)
|
{
|
m_Content.gameObject.SetActive(true);
|
}
|
}
|
else
|
{
|
if (this.gameObject.activeSelf)
|
{
|
m_Content.gameObject.SetActive(false);
|
}
|
}
|
}
|
|
private void OnPlayerDataRefresh(PlayerDataType type)
|
{
|
switch (type)
|
{
|
case PlayerDataType.CDBPlayerRefresh_YinjiCount:
|
DisplayYinJiCount();
|
break;
|
}
|
}
|
|
private void DisplayYinJiCount()
|
{
|
if (PlayerDatas.Instance.baseData.yinjiCount > 0)
|
{
|
m_Content.gameObject.SetActive(true);
|
var count = PlayerDatas.Instance.baseData.yinjiCount;
|
m_Number.text = count > 0 ? count.ToString() : "";
|
}
|
else
|
{
|
m_Content.gameObject.SetActive(false);
|
}
|
}
|
|
}
|
|
}
|