public virtual bool FindNewHost(out PeerInfoMessage newHostInfo, out bool youAreNewHost)
{
if (this.m_Peers == null)
{
if (LogFilter.logError)
{
Debug.LogError("NetworkMigrationManager FindLowestHost no peers");
}
newHostInfo = null;
youAreNewHost = false;
return false;
}
if (LogFilter.logDev)
{
Debug.Log("NetworkMigrationManager FindLowestHost");
}
newHostInfo = new PeerInfoMessage();
newHostInfo.connectionId = 0xc350;
newHostInfo.address = "";
newHostInfo.port = 0;
int connectionId = -1;
youAreNewHost = false;
if (this.m_Peers == null)
{
return false;
}
for (int i = 0; i < this.m_Peers.Length; i++)
{
PeerInfoMessage message = this.m_Peers[i];
if ((message.connectionId != 0) && !message.isHost)
{
if (message.isYou)
{
connectionId = message.connectionId;
}
if (message.connectionId < newHostInfo.connectionId)
{
newHostInfo = message;
}
}
}
if (newHostInfo.connectionId == 0xc350)
{
return false;
}
if (newHostInfo.connectionId == connectionId)
{
youAreNewHost = true;
}
if (LogFilter.logDev)
{
Debug.Log("FindNewHost new host is " + newHostInfo.address);
}
return true;
}