public bool ReconnectObjectForConnection(NetworkConnection newConnection, GameObject oldObject, int oldConnectionId)
{
if (!NetworkServer.active)
{
if (LogFilter.logError)
{
Debug.LogError("ReconnectObjectForConnection must have active server");
}
return false;
}
if (LogFilter.logDebug)
{
Debug.Log(string.Concat(new object[] { "ReconnectObjectForConnection: oldConnId=", oldConnectionId, " obj=", oldObject, " conn:", newConnection }));
}
if (!this.m_PendingPlayers.ContainsKey(oldConnectionId))
{
if (LogFilter.logError)
{
Debug.LogError("ReconnectObjectForConnection oldConnId=" + oldConnectionId + " not found.");
}
return false;
}
oldObject.SetActive(true);
oldObject.GetComponent<NetworkIdentity>().SetNetworkInstanceId(new NetworkInstanceId(0));
if (!NetworkServer.SpawnWithClientAuthority(oldObject, newConnection))
{
if (LogFilter.logError)
{
Debug.LogError("ReconnectObjectForConnection oldConnId=" + oldConnectionId + " SpawnWithClientAuthority failed.");
}
return false;
}
return true;
}