예제 #1
0
 /// <summary>
 /// Sends the specified to send message.
 /// </summary>
 /// <param name="toSendMessage">To send message.</param>
 /// <param name="deliveryMethod">The delivery method.</param>
 public void Send(OutgoingMessage toSendMessage, DeliveryMethod deliveryMethod)
 {
     foreach (var netConnection in this.server.Connections)
     {
         var message = this.server.CreateMessage(toSendMessage.Message.LengthBytes);
         message.Write(toSendMessage.Message.Data);
         this.server.SendMessage(message, netConnection, (NetDeliveryMethod)deliveryMethod);
     }
 }
 public override void WriteSyncData(OutgoingMessage writer)
 {
     this.lastPosition = this.transform.Position;
     writer.Write(this.lastPosition.X);
     writer.Write(this.lastPosition.Y);
 }
예제 #3
0
 /// <summary>
 /// Writes the serialized entity.
 /// </summary>
 /// <param name="message">The message.</param>
 /// <param name="offlineEntity">The offline entity.</param>
 private void WriteEntity(OutgoingMessage message, Entity offlineEntity)
 {
     using (var stream = new MemoryStream())
     {
         this.serializer.Serialize(stream, offlineEntity);
         var data = new byte[stream.Length];
         stream.Seek(0, SeekOrigin.Begin);
         stream.Read(data, 0, data.Length);
         message.Write(data);
     }
 }
예제 #4
0
 /// <summary>
 /// Sends to clients.
 /// </summary>
 /// <param name="messageToSend">The message to send.</param>
 /// <param name="deliveryMethod">The delivery method.</param>
 public void SendToClients(OutgoingMessage messageToSend, DeliveryMethod deliveryMethod)
 {
     this.networkServer.Send(messageToSend, deliveryMethod);
 }
 /// <summary>
 /// Writes a <see cref="EnterRoomResultCodes"/> type to an outgoing message
 /// </summary>
 /// <param name="outgoingMessage">The message</param>
 /// <param name="messageType">The <see cref="EnterRoomResultCodes"/> type to write</param>
 internal static void Write(this OutgoingMessage outgoingMessage, EnterRoomResultCodes messageType)
 {
     outgoingMessage.Write((byte)messageType);
 }
 /// <summary>
 /// Writes a <see cref="ServerIncomingMessageTypes"/> type to an outgoing message
 /// </summary>
 /// <param name="outgoingMessage">The message</param>
 /// <param name="messageType">The <see cref="ServerIncomingMessageTypes"/> type to write</param>
 internal static void Write(this OutgoingMessage outgoingMessage, ServerIncomingMessageTypes messageType)
 {
     outgoingMessage.Write((byte)messageType);
 }
예제 #7
0
 /// <summary>
 /// Writes this instance fields to an outgoing message.
 /// </summary>
 /// <param name="outgoingMessage">The outgoing message</param>
 public void Write(OutgoingMessage outgoingMessage)
 {
     outgoingMessage.Write(this.IsAbsolute);
     outgoingMessage.Write(this.IncludedRooms);
     outgoingMessage.Write(this.RemovedRooms);
 }