Fixed issues with CNetManager::getPeerCount() returning incorrect number of peers.
This commit is contained in:
parent
fe00af35d2
commit
f9b49365c0
|
@ -85,9 +85,15 @@ public:
|
||||||
core::stringc message;
|
core::stringc message;
|
||||||
message = "Client number ";
|
message = "Client number ";
|
||||||
message += playerId;
|
message += playerId;
|
||||||
message += " has just connected.";
|
message += " has just connected. ";
|
||||||
|
message += netManager->getPeerCount();
|
||||||
|
message += " peer(s) total.";
|
||||||
packet << message;
|
packet << message;
|
||||||
netManager->sendOutPacket(packet);
|
netManager->sendOutPacket(packet);
|
||||||
|
|
||||||
|
std::cout << "Client number " << playerId << " connected. "
|
||||||
|
<< netManager->getPeerCount() << " peer(s) total." << std::endl;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -100,10 +106,15 @@ public:
|
||||||
core::stringc message;
|
core::stringc message;
|
||||||
message = "Client number ";
|
message = "Client number ";
|
||||||
message += playerId;
|
message += playerId;
|
||||||
message += " has just left the building.";
|
message += " has just left the building. ";
|
||||||
|
message += netManager->getPeerCount();
|
||||||
|
message += " peer(s) left.";
|
||||||
packet << message;
|
packet << message;
|
||||||
netManager->sendOutPacket(packet);
|
netManager->sendOutPacket(packet);
|
||||||
std::cout << "Client number " << playerId << " disconnected" << std::endl;
|
|
||||||
|
std::cout << "Client number " << playerId << " disconnected. "
|
||||||
|
<< netManager->getPeerCount() << " peer(s) left." << std::endl;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handle the packets, as usual.
|
// Handle the packets, as usual.
|
||||||
|
|
|
@ -316,16 +316,18 @@ namespace irr
|
||||||
|
|
||||||
if(pData)
|
if(pData)
|
||||||
{
|
{
|
||||||
|
u16 disconnectingPID = pData->playerID;
|
||||||
|
|
||||||
if(verbose)
|
if(verbose)
|
||||||
std::cout << "irrNetLite: Player number "
|
std::cout << "irrNetLite: Player number "
|
||||||
<< pData->playerID
|
<< disconnectingPID
|
||||||
<< " disconnected.\n";
|
<< " disconnected.\n";
|
||||||
|
|
||||||
if(pHandler) pHandler->onDisconnect(pData->playerID);
|
players[disconnectingPID] = 0;
|
||||||
|
|
||||||
players[pData->playerID] = 0;
|
|
||||||
delete pData;
|
delete pData;
|
||||||
event.peer->data = 0;
|
event.peer->data = 0;
|
||||||
|
|
||||||
|
if(pHandler) pHandler->onDisconnect(disconnectingPID);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
@ -366,7 +368,17 @@ namespace irr
|
||||||
|
|
||||||
const u32 CNetManager::getPeerCount()
|
const u32 CNetManager::getPeerCount()
|
||||||
{
|
{
|
||||||
return (u32)host->peerCount;
|
u32 count = 0;
|
||||||
|
|
||||||
|
for (u32 i = 1; i < netParams.maxClients; ++i)
|
||||||
|
{
|
||||||
|
if (players[i])
|
||||||
|
{
|
||||||
|
++count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return count;
|
||||||
}
|
}
|
||||||
|
|
||||||
const u16 CNetManager::getPlayerNumber()
|
const u16 CNetManager::getPlayerNumber()
|
||||||
|
|
Loading…
Reference in New Issue