/// <summary> /// Sends a message to the relevant system(s) on the target client. /// </summary> public void SendSystemNetworkMessage(EntitySystemMessage message, NetConnection targetConnection = null, NetDeliveryMethod method = NetDeliveryMethod.ReliableUnordered) { NetOutgoingMessage newMsg = CreateEntityMessage(); newMsg.Write((byte)EntityMessage.SystemMessage); using (var stream = new MemoryStream()) { serializer.Serialize(stream, message); newMsg.Write((int)stream.Length); newMsg.Write(stream.ToArray()); } //Send the message if (targetConnection != null) { _mNetManager.Peer.SendMessage(newMsg, targetConnection, method); } else { _mNetManager.ServerSendToAll(newMsg, method); } }
/// <summary> /// Sends a message to the relevant system(s) serverside. /// </summary> public void SendSystemNetworkMessage(EntitySystemMessage message, NetDeliveryMethod method = NetDeliveryMethod.ReliableUnordered) { NetOutgoingMessage newMsg = CreateEntityMessage(); newMsg.Write((byte)EntityMessage.SystemMessage); using (var stream = new MemoryStream()) { serializer.Serialize(stream, message); newMsg.Write((int)stream.Length); newMsg.Write(stream.ToArray()); } //Send the message _networkManager.ClientSendMessage(newMsg, method); }
public override void WriteToBuffer(NetOutgoingMessage buffer) { buffer.Write((byte)Type); switch (Type) { case EntityMessage.SystemMessage: ISS14Serializer serializer = IoCManager.Resolve <ISS14Serializer>(); using (var stream = new MemoryStream()) { serializer.Serialize(stream, SystemMessage); buffer.Write((int)stream.Length); buffer.Write(stream.ToArray()); } break; case EntityMessage.ComponentMessage: buffer.Write(EntityId); buffer.Write(NetId); PackParams(buffer, Parameters); break; } }