Skip to content

Commit fbd893d

Browse files
authored
feat: snapshot spawn pre-requisite (#1166)
* feat: snapshot. Enabling spawns via snapshot by default * feat: snapshot. Fixing the snapshot spawns mechanism to not rely on Singleton * feat: snapshot. Removing the default on for snapshot spawns
1 parent a02dfee commit fbd893d

File tree

5 files changed

+15
-3
lines changed

5 files changed

+15
-3
lines changed

com.unity.netcode.gameobjects/Runtime/Messaging/IInternalMessageHandler.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,6 @@ internal interface IInternalMessageHandler
1717
void HandleUnnamedMessage(ulong clientId, Stream stream);
1818
void HandleNamedMessage(ulong clientId, Stream stream);
1919
void HandleNetworkLog(ulong clientId, Stream stream);
20+
void HandleSnapshot(ulong clientId, Stream messageStream);
2021
}
2122
}

com.unity.netcode.gameobjects/Runtime/Messaging/InternalMessageHandler.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -306,9 +306,9 @@ public void HandleNetworkLog(ulong clientId, Stream stream)
306306
}
307307
}
308308

309-
internal static void HandleSnapshot(ulong clientId, Stream messageStream)
309+
public void HandleSnapshot(ulong clientId, Stream messageStream)
310310
{
311-
NetworkManager.Singleton.SnapshotSystem.ReadSnapshot(clientId, messageStream);
311+
m_NetworkManager.SnapshotSystem.ReadSnapshot(clientId, messageStream);
312312
}
313313
}
314314
}

com.unity.netcode.gameobjects/Runtime/Messaging/MessageQueue/MessageQueueProcessor.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ public void ProcessMessage(in MessageFrameItem item)
106106

107107
break;
108108
case MessageQueueContainer.MessageType.SnapshotData:
109-
InternalMessageHandler.HandleSnapshot(item.NetworkId, item.NetworkBuffer);
109+
m_NetworkManager.MessageHandler.HandleSnapshot(item.NetworkId, item.NetworkBuffer);
110110
break;
111111
case MessageQueueContainer.MessageType.NetworkVariableDelta:
112112
m_NetworkManager.MessageHandler.HandleNetworkVariableDelta(item.NetworkId, item.NetworkBuffer);

com.unity.netcode.gameobjects/Runtime/Profiling/InternalMessageHandlerProfilingDecorator.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,15 @@ public void HandleNetworkVariableDelta(ulong clientId, Stream stream)
9393
m_HandleNetworkVariableDelta.End();
9494
}
9595

96+
public void HandleSnapshot(ulong clientId, Stream stream)
97+
{
98+
m_HandleNetworkVariableDelta.Begin();
99+
100+
m_MessageHandler.HandleSnapshot(clientId, stream);
101+
102+
m_HandleNetworkVariableDelta.End();
103+
}
104+
96105
public void MessageReceiveQueueItem(ulong clientId, Stream stream, float receiveTime, MessageQueueContainer.MessageType messageType)
97106
{
98107
switch (messageType)

com.unity.netcode.gameobjects/Tests/Editor/DummyMessageHandler.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,8 @@ public void MessageReceiveQueueItem(ulong clientId, Stream stream, float receive
5050

5151
public void HandleNetworkLog(ulong clientId, Stream stream) => VerifyCalled(nameof(HandleNetworkLog));
5252

53+
public void HandleSnapshot(ulong clientId, Stream stream) => VerifyCalled(nameof(HandleSnapshot));
54+
5355
public void HandleAllClientsSwitchSceneCompleted(ulong clientId, Stream stream) => VerifyCalled(nameof(HandleAllClientsSwitchSceneCompleted));
5456

5557
private void VerifyCalled(string method)

0 commit comments

Comments
 (0)