diff --git a/scripts/net/syncing/ConnectionHandler.cs b/scripts/net/syncing/ConnectionHandler.cs index 629a681..ee50e05 100644 --- a/scripts/net/syncing/ConnectionHandler.cs +++ b/scripts/net/syncing/ConnectionHandler.cs @@ -80,18 +80,28 @@ namespace Network.Syncing { Packets.Add(Peer.Protocol.DeserializePacket(packetBuffer, Metadata)); } + int BiggestReliableIDReceived = -1; + int BiggestUnreliableIDReceived = -1; + for (int i = 0; i < Packets.Count; i++) { Serializable Curr = Packets[i]; if (Curr.Metadata.Reliable) { if (Curr.Metadata.ID <= LastReliableIDReceived) { continue; + } else if (Curr.Metadata.ID > BiggestReliableIDReceived) { + BiggestReliableIDReceived = Curr.Metadata.ID; } } else { if (Curr.Metadata.ID <= LastUnreliableIDReceived) { continue; + } else if (Curr.Metadata.ID > BiggestUnreliableIDReceived) { + BiggestUnreliableIDReceived = Curr.Metadata.ID; } } + LastReliableIDReceived = BiggestReliableIDReceived; + LastUnreliableIDReceived = BiggestUnreliableIDReceived; + Peer.Protocol.HandleSerializable(Curr); }