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