Ejemplo n.º 1
0
        public KeyValuePair <byte, Dictionary <byte, object> > ToMessageData(INetworkMessage message)
        {
            byte messageCode = 0;

            if (messageTypes.TryGetValue(message.GetType(), out messageCode))
            {
                using (var memoryStream = new MemoryStream())
                {
                    var binaryWriter = new BinaryWriter(memoryStream);
                    message.Write(binaryWriter);

                    binaryWriter.Flush();
                    memoryStream.Flush();

                    var messageData = new Dictionary <byte, object>()
                    {
                        { 0, memoryStream.ToArray() }
                    };

                    return(new KeyValuePair <byte, Dictionary <byte, object> >(messageCode, messageData));
                }
            }

            return(new KeyValuePair <byte, Dictionary <byte, object> >(byte.MaxValue, null));
        }