Skip to content

Commit 9a09588

Browse files
Revert "Merge branch 'feature/rpcqueuerevisited' into feature/networkupdate"
This reverts commit 5d75987, reversing changes made to 39f0502.
1 parent 5d75987 commit 9a09588

16 files changed

Lines changed: 271 additions & 684 deletions

com.unity.multiplayer.mlapi/Runtime/Core/MessageBatcher.cs

Lines changed: 0 additions & 217 deletions
This file was deleted.

com.unity.multiplayer.mlapi/Runtime/Core/MessageBatcher.cs.meta

Lines changed: 0 additions & 11 deletions
This file was deleted.

com.unity.multiplayer.mlapi/Runtime/Core/NetworkUpdateManager.cs

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
/// About the Network Update Loop
2-
/// The NetworkUpdateEngine is a temporary solution for the network update loop implementation.
3-
/// This will be revised with a more robust and modular implementation in the near future.
4-
51
using System;
62
using System.Text;
73
using System.Collections.Generic;

com.unity.multiplayer.mlapi/Runtime/Core/NetworkedBehaviour.cs

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,9 +38,6 @@ internal enum NExec
3838
Client = 2
3939
}
4040

41-
/// <summary>
42-
/// This is a temporary solution for channel names and the below hardcoded value might not be mandatory in the future.
43-
/// </summary>
4441
private const string StandardRpc_ChannelName = "STDRPC";
4542

4643
#pragma warning disable 414
@@ -52,8 +49,17 @@ internal enum NExec
5249
internal BitWriter BeginSendServerRpc(ServerRpcSendParams sendParams, bool isReliable)
5350
{
5451
var rpcQueueMananger = NetworkingManager.Singleton.RpcQueueManager;
52+
if (rpcQueueMananger == null)
53+
{
54+
return null;
55+
}
56+
57+
var writer = rpcQueueMananger.BeginAddQueueItemToOutboundFrame(RPCQueueManager.QueueItemType.ServerRpc, Time.realtimeSinceStartup, StandardRpc_ChannelName, 0, NetworkingManager.Singleton.ServerClientId, null);
58+
writer.WriteBit(false); // Encrypted
59+
writer.WriteBit(false); // Authenticated
60+
writer.WriteBits(MLAPIConstants.MLAPI_SERVER_RPC, 6); // MessageType
61+
5562

56-
var writer = rpcQueueMananger.BeginAddQueueItemToOutboundFrame(RpcQueueContainer.QueueItemType.ServerRpc, Time.realtimeSinceStartup, StandardRpc_ChannelName, 0, NetworkingManager.Singleton.ServerClientId, null);
5763
writer.WriteUInt64Packed(NetworkId); // NetworkObjectId
5864
writer.WriteUInt16Packed(GetBehaviourId()); // NetworkBehaviourId
5965

@@ -84,8 +90,30 @@ internal BitWriter BeginSendClientRpc(ClientRpcSendParams sendParams, bool isRel
8490
{
8591
//This will start a new queue item entry and will then return the writer to the current frame's stream
8692
var rpcQueueMananger = NetworkingManager.Singleton.RpcQueueManager;
93+
if (rpcQueueMananger == null)
94+
{
95+
return null;
96+
}
97+
98+
ulong[] TargetIds = sendParams.TargetClientIds;
99+
if(TargetIds == null)
100+
{
101+
if((NetworkingManager.Singleton.ConnectedClientsList.Count > 0))
102+
{
103+
var FirstPass = NetworkingManager.Singleton.ConnectedClientsList.Select(c => c.ClientId).ToList();
104+
FirstPass.Remove(NetworkingManager.Singleton.ServerClientId);
105+
TargetIds = FirstPass.ToArray();
106+
}
107+
}
108+
109+
//var writer = rpcQueueMananger.BeginAddQueueItemToOutboundFrame(RPCQueueManager.QueueItemType.ClientRpc, Time.realtimeSinceStartup, StandardRpc_ChannelName, 0, NetworkId, sendParams.TargetClientIds ?? NetworkingManager.Singleton.ConnectedClientsList.Select(c => c.ClientId).ToArray());
110+
var writer = rpcQueueMananger.BeginAddQueueItemToOutboundFrame(RPCQueueManager.QueueItemType.ClientRpc, Time.realtimeSinceStartup, StandardRpc_ChannelName, 0, NetworkId, TargetIds);
111+
writer.WriteBit(false); // Encrypted
112+
writer.WriteBit(false); // Authenticated
113+
writer.WriteBits(MLAPIConstants.MLAPI_CLIENT_RPC, 6); // MessageType
114+
115+
87116

88-
var writer = rpcQueueMananger.BeginAddQueueItemToOutboundFrame(RpcQueueContainer.QueueItemType.ClientRpc, Time.realtimeSinceStartup, StandardRpc_ChannelName, 0, NetworkId, sendParams.TargetClientIds ?? NetworkingManager.Singleton.ConnectedClientsList.Select(c => c.ClientId).ToArray());
89117
writer.WriteUInt64Packed(NetworkId); // NetworkObjectId
90118
writer.WriteUInt16Packed(GetBehaviourId()); // NetworkBehaviourId
91119

0 commit comments

Comments
 (0)