public bool ReconnectPlayerForConnection(NetworkConnection newConnection, GameObject oldPlayer, int oldConnectionId, short playerControllerId)
{
if (!NetworkServer.active)
{
if (LogFilter.logError)
{
Debug.LogError("ReconnectPlayerForConnection must have active server");
}
return false;
}
if (LogFilter.logDebug)
{
Debug.Log(string.Concat(new object[] { "ReconnectPlayerForConnection: oldConnId=", oldConnectionId, " player=", oldPlayer, " conn:", newConnection }));
}
if (!this.m_PendingPlayers.ContainsKey(oldConnectionId))
{
if (LogFilter.logError)
{
Debug.LogError("ReconnectPlayerForConnection oldConnId=" + oldConnectionId + " not found.");
}
return false;
}
oldPlayer.SetActive(true);
NetworkServer.Spawn(oldPlayer);
if (!NetworkServer.AddPlayerForConnection(newConnection, oldPlayer, playerControllerId))
{
if (LogFilter.logError)
{
Debug.LogError("ReconnectPlayerForConnection oldConnId=" + oldConnectionId + " AddPlayerForConnection failed.");
}
return false;
}
if (NetworkServer.localClientActive)
{
this.SendPeerInfo();
}
return true;
}