public static void Update() { if (!m_OpenPing) { return; } float dt = UnityEngine.Time.deltaTime; long mmsec = (long)(dt * 1000); long curr = MonoTool.GetTimeStamp(); if (m_SendPing) { if (!m_PingBack) { m_PingBackPastTime += mmsec; if (m_PingBackPastTime >= m_PingBackWaitTime) { m_bDrop = true; } return; } } else { if (curr - m_LastPingTimeOfLoop > m_PingIntervalOfLoop) { if (m_PingPastTime >= m_PingInterval) { MonoMessage.ReqHeart(curr); m_PingPastTime = 0; m_PingBack = false; m_SendPing = true; m_PingBackPastTime = 0; m_bDrop = false; } else { m_PingPastTime += mmsec; } } } }
void Start() { MonoMessage.Register(); }
void Destroy() { MonoMessage.Unregister(); }