From 3e906686db005d9ea7f1e187644d663700fdbae1 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Sun, 28 May 2023 13:30:14 +0200 Subject: [PATCH] Improve #1119 to use a bit flag for object sync --- Source/Engine/Networking/NetworkReplicator.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Source/Engine/Networking/NetworkReplicator.cpp b/Source/Engine/Networking/NetworkReplicator.cpp index 0a0319196..6f6211b74 100644 --- a/Source/Engine/Networking/NetworkReplicator.cpp +++ b/Source/Engine/Networking/NetworkReplicator.cpp @@ -109,13 +109,14 @@ struct NetworkReplicatedObject uint32 LastOwnerFrame = 0; NetworkObjectRole Role; uint8 Spawned : 1; + uint8 Synced : 1; DataContainer TargetClientIds; INetworkObject* AsNetworkObject; - bool NetworkObjectSync = false; NetworkReplicatedObject() { Spawned = 0; + Synced = 0; } bool operator==(const NetworkReplicatedObject& other) const @@ -640,10 +641,10 @@ void InvokeObjectReplication(NetworkReplicatedObject& item, uint32 ownerFrame, b if (item.AsNetworkObject) { item.AsNetworkObject->OnNetworkDeserialize(); - if (!item.NetworkObjectSync) + if (!item.Synced) { + item.Synced = true; item.AsNetworkObject->OnNetworkSync(); - item.NetworkObjectSync = true; } }