void CNetworkManager::Process()
{
	// Get our file transfer manager
	CFileTransferManager * pFileTransferManager = g_pClient->GetFileTransfer();

	// If our file transfer class exists process it
	if(pFileTransferManager)
		pFileTransferManager->Process();

	// Have we joined a server and not joined a game yet?
	if(m_bJoinedServer && !m_bJoinedGame)
	{
		// Get our local player
		CLocalPlayer * pLocalPlayer = g_pClient->GetLocalPlayer();

		// Is the file transfer list empty?
		if(pFileTransferManager->IsComplete() && pLocalPlayer->IsConnectFinished())
		{
			// Flag ourselves as joined a game
			m_bJoinedGame = true;

			// Respawn the local player
			pLocalPlayer->Respawn();
		}
	}

	if(!m_pNetClient)
		return;

	// Process the net client
	m_pNetClient->Process();

	// Are we connected to a server?
	if(m_pNetClient->IsConnected())
	{
		// If our streamer exists, process it
		CStreamer * pStreamer = g_pClient->GetStreamer();

		if(pStreamer)
			pStreamer->Pulse();

		// Is our script timer manager exists, process it
		CScriptTimerManager * pScriptTimerManager = g_pClient->GetClientScriptManager()->GetScriptTimerManager();
		if(pScriptTimerManager)
			pScriptTimerManager->Pulse();

		// If our player manager exists process it
		CPlayerManager * pPlayerManager = g_pClient->GetPlayerManager();

		if(pPlayerManager)
			pPlayerManager->Pulse();

		// If our vehicle manager exists process it
		CVehicleManager * pVehicleManager = g_pClient->GetVehicleManager();

		if(pVehicleManager)
			pVehicleManager->Pulse();

		// If our checkpoint manager exists process it
		CCheckpointManager * pCheckpointManager = g_pClient->GetCheckpointManager();

		if(pCheckpointManager)
			pCheckpointManager->Pulse();

		// If our object manager exists process it
		CObjectManager * pObjectManager = g_pClient->GetObjectManager();

		if(pObjectManager)
			pObjectManager->Process();

		// Process the audio manager
		CAudioManager * pAudioManager = g_pClient->GetAudioManager();

		if(pAudioManager)
			pAudioManager->Process();

		// Process the actor manager
		CActorManager * pActorManager = g_pClient->GetActorManager();

		if(pActorManager)
			pActorManager->Process();
	}
}