Modified tickrate behaviour to empty buffers

This commit is contained in:
Albin Corén 2018-03-09 10:28:38 +01:00
parent ad41b78acc
commit 6cb02f35de

View File

@ -301,7 +301,7 @@ namespace MLAPI
{
if(isListening)
{
if(Time.time - lastSendTickTime >= (1f / NetworkConfig.SendTickrate))
if((Time.time - lastSendTickTime >= (1f / NetworkConfig.SendTickrate)) || NetworkConfig.SendTickrate <= 0)
{
foreach (KeyValuePair<int, NetworkedClient> pair in connectedClients)
{
@ -309,9 +309,12 @@ namespace MLAPI
}
lastSendTickTime = Time.time;
}
if(Time.time - lastReceiveTickTime >= (1f / NetworkConfig.ReceiveTickrate))
if((Time.time - lastReceiveTickTime >= (1f / NetworkConfig.ReceiveTickrate)) || NetworkConfig.ReceiveTickrate <= 0)
{
NetworkEventType eventType = NetworkTransport.Receive(out hostId, out clientId, out channelId, messageBuffer, messageBuffer.Length, out receivedSize, out error);
NetworkEventType eventType;
do
{
eventType = NetworkTransport.Receive(out hostId, out clientId, out channelId, messageBuffer, messageBuffer.Length, out receivedSize, out error);
NetworkError networkError = (NetworkError)error;
if (networkError == NetworkError.Timeout)
{
@ -365,12 +368,13 @@ namespace MLAPI
OnClientDisconnect(clientId);
break;
}
} while (eventType != NetworkEventType.Nothing);
lastReceiveTickTime = Time.time;
}
if (isServer && (Time.time - lastEventTickTime >= (1f / NetworkConfig.EventTickrate)))
if (isServer && ((Time.time - lastEventTickTime >= (1f / NetworkConfig.EventTickrate)) || NetworkConfig.EventTickrate <= 0))
{
LagCompensationManager.AddFrames();
NetworkedObject.InvokeSyncvafrUpdate();
NetworkedObject.InvokeSyncvarUpdate();
lastEventTickTime = Time.time;
}
}