public static PayloadPacket ReadPayloadPacket(this PacketReader reader, ChannelID channelID, byte rawID) { var id = (PayloadPacketID)rawID; PayloadPacket packet; if (!Enum.IsDefined(typeof(PayloadPacketID), id)) { packet = new UnknownPayloadPacket(reader, channelID, id); } else { packet = _lookup[id](reader, channelID); } return(packet); }
public static PayloadPacket Create(PacketReader reader) { var id = (PayloadPacketID)reader.ReadByte(); PayloadPacket packet; if (!Enum.IsDefined(typeof(PayloadPacketID), id)) { packet = UnknownPayloadPacket.CreateBody(reader, id); } else { packet = _lookup[id](reader); } packet.ExtraBytes = reader.ReadLeft(); return(packet); }