public static Packet GetPacket(RawPacket data) { var id = data.ReadInt16(); if (!PacketTypes.TryGetValue(id, out var type)) { throw new InvalidOperationException($@"Invalid packet id {id}"); } var packet = PacketFromType(type); packet.ReadPacket(ref data); return(packet); }
public static Packet GetPacket(RawPacket data) { short id = data.ReadInt16(); Type type = null; if (!PacketTypes.TryGetValue(id, out type)) { throw new InvalidOperationException($"Invalid packet id {id}"); } Packet packet = PacketFromType(type); packet.ReadPacket(ref data); return(packet); }