Example #1
0
        public virtual void Send(uint packetId, object packet)
        {
            var cancel = SendHandler.HandlePacket(packetId, packet)?.Cancel ?? false;

            if (cancel)
            {
                return;
            }

            var ds = new DataStream {
                IsLittleEndian = false
            };
            var ok = PacketsRegistry.Serialize(packetId, ds, packet);

            if (ok)
            {
                Send(packetId, ds);
                SendCompleteHandler.HandlePacket(packetId, packet);
            }
            else
            {
                Log.Error("Try to send unknown packet {0}", packetId);
            }
        }