diff --git a/com.unity.multiplayer.mlapi/Runtime/Core/NetworkObject.cs b/com.unity.multiplayer.mlapi/Runtime/Core/NetworkObject.cs index 494653de27..8e1f7a61f9 100644 --- a/com.unity.multiplayer.mlapi/Runtime/Core/NetworkObject.cs +++ b/com.unity.multiplayer.mlapi/Runtime/Core/NetworkObject.cs @@ -278,25 +278,9 @@ public static void NetworkShow(List networkObjects, ulong clientI } } - - var context = networkManager.MessageQueueContainer.EnterInternalCommandContext( - MessageQueueContainer.MessageType.CreateObjects, NetworkChannel.Internal, - new[] { clientId }, NetworkUpdateLoop.UpdateStage); - - if (context != null) + foreach (var networkObject in networkObjects) { - using (var nonNullContext = (InternalCommandContext)context) - { - nonNullContext.NetworkWriter.WriteUInt16Packed((ushort)networkObjects.Count); - - for (int i = 0; i < networkObjects.Count; i++) - { - networkObjects[i].Observers.Add(clientId); - - networkManager.SpawnManager.WriteSpawnCallForObject(nonNullContext.NetworkWriter, clientId, - networkObjects[i]); - } - } + networkObject.NetworkShow(clientId); } } @@ -385,23 +369,9 @@ public static void NetworkHide(List networkObjects, ulong clientI } } - var context = networkManager.MessageQueueContainer.EnterInternalCommandContext( - MessageQueueContainer.MessageType.DestroyObjects, NetworkChannel.Internal, - new[] { clientId }, NetworkUpdateStage.PostLateUpdate); - if (context != null) + foreach (var networkObject in networkObjects) { - using (var nonNullContext = (InternalCommandContext)context) - { - nonNullContext.NetworkWriter.WriteUInt16Packed((ushort)networkObjects.Count); - - for (int i = 0; i < networkObjects.Count; i++) - { - // Send destroy call - networkObjects[i].Observers.Remove(clientId); - - nonNullContext.NetworkWriter.WriteUInt64Packed(networkObjects[i].NetworkObjectId); - } - } + networkObject.NetworkHide(clientId); } }