Esempio n. 1
0
        private void OnGameEngineMessage(GameMessage message)
        {
            message = BeforeMessageProcessing(message);
            var eventData = ProtobufSerializerUtil.Serialize(message);
            var data      = new Dictionary <byte, object>()
            {
                { 245, eventData }, { 245, 0 }
            };

            // Broadcast the message to the client, the event code will be similar to the message code
            if (!_isEndGame || message.GetType() == typeof(MessageGameResult))
            {
                BroadcastEvent((byte)message.Code, data);
            }
        }
Esempio n. 2
0
        public void Send <T>(T message, IPEndPoint remoteEndPoint)
            where T : GameMessage
        {
            var data = ProtobufSerializerUtil.Serialize(message);

            var datagram = new byte[data.Length + 4];

            byte[] codeBytes;

            codeBytes = BitConverter.GetBytes((int)message.Code);

            codeBytes.CopyTo(datagram, 0);

            data.CopyTo(datagram, 4);

            UdpClient.Send(datagram, datagram.Length, remoteEndPoint);
        }