using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine; using UnityEngine.UI; public class TipWaitUnit : TipUnit { public Image m_spWait; public TextMeshProUGUI tmpLeftSec; public WaitData m_Data; public float m_waitTime = 0f; // 当前等待时间 public float m_speed = 20 * 2.5f; // 旋转速度 public override void Awake() { base.Awake(); m_spWait = transform.Find("spWait/imgRobot").GetComponent(); tmpLeftSec = transform.Find("tmpLeftSec").GetComponent(); } private void OnEnable() { Inform.Listen(eInformId.TipWaitClose, Close); tmpLeftSec.text = string.Empty; } private void OnDisable() { Inform.Cancel(eInformId.TipWaitClose, Close); } public override void Refresh(TipData _Data) { base.Refresh(_Data); m_waitTime = 0f; m_Data = (_Data as WaitData); } // Update is called once per frame void Update() { m_waitTime += Time.deltaTime; m_spWait.transform.Rotate(Vector3.forward, -m_speed * Time.deltaTime); if (m_waitTime > m_Data.m_waitTimeMax) { tmpLeftSec.text = string.Empty; Tips.Instance.ShowDialog("等待超时"); Close(); } else { float secLeft = m_Data.m_waitTimeMax - m_waitTime; tmpLeftSec.text = secLeft.ToString("N1"); } } void Close() { m_waitTime = 0f; gameObject.SetActive(false); } }