//-------------------------------------------------------- // [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 = 1f; YinJiModel model { get { return ModelCenter.Instance.GetModel(); } } private void OnEnable() { PlayerDatas.Instance.playerDataRefreshEvent += OnPlayerDataRefresh; DisplayYinJiCount(); } private void OnDisable() { 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; case PlayerDataType.CDBPlayerRefresh_YinjiTime: circleTotalTime = PlayerDatas.Instance.baseData.yinjiTime * 0.001f; 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); } } } }