public static void ParseNetworkMessages(Packet packet, NetworkConnection clientConnection) { PacketNetworkMessage messagePacket = (PacketNetworkMessage)packet; foreach (var message in messagePacket.networkMessages) { message.senderConnection = clientConnection; objectsManager.pendingMessagesInbound.Push(message); } }
public static void ParseNetworkMessages(Packet packet) { if (!ready) { return; } PacketNetworkMessage messagePacket = (PacketNetworkMessage)packet; foreach (var message in messagePacket.networkMessages) { objectsManager.pendingMessagesInbound.Push(message); } }
private void SendTargeted(List <NetworkMessage> msgList, NetworkConnection conn, bool useHighPriority) { if (msgList.Count < 1) { return; } int numberOfPackets = msgList.Count / MAX_NETWORK_MESSAGES_PER_PACKET + 1; for (int i = 0; i < numberOfPackets; i++) { PacketNetworkMessage msgPacket; if (useHighPriority) { msgPacket = new PacketNetworkMessage(Packet.PRIORITY_HIGH); } else { msgPacket = new PacketNetworkMessage(Packet.PRIORITY_LOW); } int messageCount = (msgList.Count < MAX_NETWORK_MESSAGES_PER_PACKET) ? msgList.Count : MAX_NETWORK_MESSAGES_PER_PACKET; List <NetworkMessage> toSend = msgList.GetRange(0, messageCount); msgList.RemoveRange(0, messageCount); //This may f**k things up foreach (NetworkMessage msg in toSend) { msgPacket.networkMessages.Add(msg); } if (msgPacket.networkMessages.Count > 0) { SendPacket(msgPacket, conn); } } }