internal void ReceiveFromPeer(NetPacket packet, NetEndPoint remoteEndPoint) { NetPeer fromPeer; lock (_peers) { _peers.TryGetValue(remoteEndPoint, out fromPeer); } if (fromPeer != null) { NetUtils.DebugWrite(ConsoleColor.Cyan, "[NM] Received message"); var netEvent = CreateEvent(NetEventType.Receive); netEvent.Peer = fromPeer; netEvent.RemoteEndPoint = fromPeer.EndPoint; switch (packet.Property) { case PacketProperty.Unreliable: netEvent.DeliveryMethod = DeliveryMethod.Unreliable; break; case PacketProperty.ReliableUnordered: netEvent.DeliveryMethod = DeliveryMethod.ReliableUnordered; break; case PacketProperty.ReliableOrdered: netEvent.DeliveryMethod = DeliveryMethod.ReliableOrdered; break; case PacketProperty.Sequenced: netEvent.DeliveryMethod = DeliveryMethod.Sequenced; break; case PacketProperty.ReliableSequenced: //TODO: netEvent.DeliveryMethod = DeliveryMethod.ReliableSequenced; break; } netEvent.DataReader.SetSource(packet.CopyPacketData()); EnqueueEvent(netEvent); } }