private void SendData() { NetworkEventOptions networkEventOptions = new NetworkEventOptions { TargetActors = jonedPlayer.ToArray(), Receiver = NetworkReceiverGroup.Target, }; if (LogSendMessages) { Debug.Log("SendFullState:\n" + NetworkMessageUtility.ToString(networkSendMessageUtility.DataContainer)); } networkManager.SendMessage(NetworkEvents.DataSync, messageSerializer.Serialize(networkSendMessageUtility.DataContainer), true, networkEventOptions); networkSendMessageUtility.Reset(); }
private void SendData() { NetworkEventOptions networkEventOptions = new NetworkEventOptions(); byte[] data; if (networkManager.IsMaster) { if (!AllNetworkSendMessageUtility.DataContainer.AddedNetworkSyncEntities.Any() && !AllNetworkSendMessageUtility.DataContainer.RemovedNetworkSyncEntities.Any() && !AllNetworkSendMessageUtility.DataContainer.NetworkSyncDataEntities.Any()) { return; } networkEventOptions.Receiver = NetworkReceiverGroup.Others; if (LogSendMessages) { LastSendMessage = NetworkMessageUtility.ToString(AllNetworkSendMessageUtility.DataContainer); } data = messageSerializer.Serialize(AllNetworkSendMessageUtility.DataContainer); } else { if (!ownNetworkSendMessageUtility.DataContainer.AddedNetworkSyncEntities.Any() && !ownNetworkSendMessageUtility.DataContainer.RemovedNetworkSyncEntities.Any() && !ownNetworkSendMessageUtility.DataContainer.NetworkSyncDataEntities.Any()) { return; } networkEventOptions.Receiver = NetworkReceiverGroup.MasterClient; if (LogSendMessages) { LastSendMessage = NetworkMessageUtility.ToString(ownNetworkSendMessageUtility.DataContainer); } data = messageSerializer.Serialize(ownNetworkSendMessageUtility.DataContainer); } //Debug.Log("NetworkSendSystem:\n" + LastSendMessage); networkManager.SendMessage(NetworkEvents.DataSync, data, true, networkEventOptions); ownNetworkSendMessageUtility.Reset(); AllNetworkSendMessageUtility.Reset(); }
public void SendMessage(byte eventId, byte[] data, bool reliable, NetworkEventOptions networkEventOptions) { switch (networkEventOptions.Receiver) { case NetworkReceiverGroup.Others: eventOption.Receivers = ReceiverGroup.Others; break; case NetworkReceiverGroup.MasterClient: eventOption.Receivers = ReceiverGroup.MasterClient; break; case NetworkReceiverGroup.Target: break; default: break; } eventOption.TargetActors = networkEventOptions.TargetActors; SendMessage(eventId, data, reliable, eventOption); }