Esempio n. 1
0
        protected async Task <UdpMessage> Receive()
        {
            var result = await UdpClient.ReceiveAsync();

            var code = BitConverter.ToInt32(result.Buffer, 0);

            var data = new byte[result.Buffer.Length - 4];

            Array.Copy(result.Buffer, 4, data, 0, result.Buffer.Length - 4);

            var message = ProtobufDeserializerUtil.Deserialize((byte)code, data);

            return(new UdpMessage
            {
                Sender = result.RemoteEndPoint,
                MessageCode = code,
                MessageData = message
            });
        }
Esempio n. 2
0
 protected virtual GameInput DeserializeEvent(byte eventCode, object eventData)
 {
     return(ProtobufDeserializerUtil.DeserializeQuestInput(eventCode, (byte[])eventData));
 }