public void CheckIfReconnect() { if (0 != m_NetworkFailState) { switch (m_NetworkFailState) { case (int)NetworkFailState.Connect: { } break; case (int)NetworkFailState.Receive: { } break; } m_NetworkFailState = 0; } if (m_IsReconnected) { m_IsReconnected = false; return; } TryToPingServer(); if (m_StartReconnect == true) { m_StartReconnect = false; m_ReconnectState = enumReconnectState.Auto; m_ReconnectCount = 0; m_CanShowMsgBox = true; Reconnect(); return; } if (m_ReconnectState != enumReconnectState.Default && TimeToReconnect()) { switch (m_ReconnectState) { case enumReconnectState.Manual: if (m_CanShowMsgBox == true) { } break; case enumReconnectState.Auto: Reconnect(); break; } } }
/// </summary> public void ResetReconnectState() { if (m_CanReconnect == false) { m_CanReconnect = true; } if (m_ReconnectState != enumReconnectState.Default) { m_IsReconnected = true; } m_ReconnectState = enumReconnectState.Default; m_LastRecvMsgTime = Time.realtimeSinceStartup; m_CanCheckRecvMsgState = true; m_PingCount = 0; }