public static void Create <T>(ChatOpCode opCode) where T : ChatMessage, new() { var type = typeof(T); OpCodeLookup.Add(type, opCode); TypeLookup.Add(opCode, type); }
public static ChatMessage GetMessage(ChatOpCode opCode, BinaryReader r) { var type = TypeLookup.GetValueOrDefault(opCode); if (type == null) { throw new NetsphereBadOpCodeException(opCode); } return((ChatMessage)Serializer.Deserialize(r, type)); }
public NetsphereBadOpCodeException(ChatOpCode opCode) : base($"Bad opCode: {opCode}") { }