mirror of
https://github.com/Heretek-AI/GDevelop.git
synced 2026-07-22 01:55:25 -04:00
bf9fe9cd53
git-svn-id: svn://localhost@358 8062f311-0dae-4547-b526-b8ab9ac864a5
51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
#include "NetworkManager.h"
|
|
#include "ReceivedDataManager.h"
|
|
#include "ErrorManager.h"
|
|
#include "GDL/CommonTools.h"
|
|
|
|
NetworkManager * NetworkManager::_singleton = NULL;
|
|
|
|
void NetworkManager::ReceivePackets()
|
|
{
|
|
sf::Packet packet;
|
|
sf::IpAddress address;
|
|
short unsigned int port;
|
|
|
|
while ( socket.Receive(packet, address, port) == sf::Socket::Done)
|
|
{
|
|
//Be sure the sender is not blocked
|
|
if ( find(blockedList.begin(), blockedList.end(), address) == blockedList.end())
|
|
{
|
|
sf::Int32 type = -1;
|
|
packet >> type; //Read the primary type of the packet
|
|
|
|
switch(type)
|
|
{
|
|
case 0:
|
|
{
|
|
std::string title;
|
|
packet >> title;
|
|
double number;
|
|
packet >> number;
|
|
|
|
ReceivedDataManager::getInstance()->values[title] = number;
|
|
break;
|
|
}
|
|
case 1:
|
|
{
|
|
std::string title;
|
|
packet >> title;
|
|
std::string str;
|
|
packet >> str;
|
|
|
|
ReceivedDataManager::getInstance()->strings[title] = str;
|
|
break;
|
|
}
|
|
default:
|
|
ErrorManager::getInstance()->SetLastError("Received unknown data ( Type "+ToString(type)+" )\n");
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|