Improve #1119 to use a bit flag for object sync

This commit is contained in:
Wojtek Figat
2023-05-28 13:30:14 +02:00
parent b219aaf708
commit 3e906686db

View File

@@ -109,13 +109,14 @@ struct NetworkReplicatedObject
uint32 LastOwnerFrame = 0;
NetworkObjectRole Role;
uint8 Spawned : 1;
uint8 Synced : 1;
DataContainer<uint32> 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;
}
}