public static MeshNetworkPacket Parse(BinaryReader bR) { MeshNetworkPacketType type = (MeshNetworkPacketType)bR.ReadByte(); switch (type) { case MeshNetworkPacketType.PingRequest: case MeshNetworkPacketType.PingResponse: case MeshNetworkPacketType.MessageTypingNotification: return(new MeshNetworkPacket(type)); case MeshNetworkPacketType.PeerExchange: return(new MeshNetworkPacketPeerExchange(bR)); case MeshNetworkPacketType.LocalNetworkOnly: return(new MeshNetworkPacketLocalNetworkOnly(bR)); case MeshNetworkPacketType.Profile: return(new MeshNetworkPacketProfile(bR)); case MeshNetworkPacketType.ProfileDisplayImage: return(new MeshNetworkPacketProfileDisplayImage(bR)); case MeshNetworkPacketType.GroupDisplayImage: return(new MeshNetworkPacketGroupDisplayImage(bR)); case MeshNetworkPacketType.GroupLockNetwork: return(new MeshNetworkPacketGroupLockNetwork(bR)); case MeshNetworkPacketType.Message: return(new MeshNetworkPacketMessage(bR)); case MeshNetworkPacketType.MessageDeliveryNotification: return(new MeshNetworkPacketMessageDeliveryNotification(bR)); case MeshNetworkPacketType.FileRequest: return(new MeshNetworkPacketFileRequest(bR)); default: throw new InvalidOperationException("Invalid message type: " + type); } }
public MeshNetworkPacket(MeshNetworkPacketType type) { _type = type; }