Ejemplo n.º 1
0
    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;
                }
            }
        }
    }
Ejemplo n.º 2
0
 void Start()
 {
     MonoMessage.Register();
 }
Ejemplo n.º 3
0
 void Destroy()
 {
     MonoMessage.Unregister();
 }