Ejemplo n.º 1
0
        /// <summary>
        /// Creates a empty ready-to-use copy of a given implementation of DBSRVPackets.
        /// </summary>
        public static T CreatePacket <T>(ushort opcode) where T : struct, DBSRVPackets
        {
            MSG_HEADER validHeader = new MSG_HEADER();
            T          packet      = W2Marshal.CreateEmpty <T>();

            // Set the default values to the packet header.
            validHeader.Size      = (ushort)Marshal.SizeOf(packet);
            validHeader.PacketID  = opcode;
            validHeader.Key       = (byte)W2Random.Instance.Next(127);
            validHeader.TimeStamp = (uint)Environment.TickCount;

            packet.Header = validHeader;

            return(packet);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Creates a empty ready-to-use copy of a given implementation of IGamePacket.
        /// </summary>
        public static T GetEmptyValid <T>(ushort opcode) where T : struct, IGamePacket
        {
            MPacketHeader validHeader = new MPacketHeader();
            T             packet      = W2Marshal.CreateEmpty <T>();

            // Set the default values to the packet header.
            validHeader.Size      = (ushort)Marshal.SizeOf(packet);
            validHeader.Opcode    = opcode;
            validHeader.Key       = (byte)W2Random.Instance.Next(127);
            validHeader.TimeStamp = (uint)Environment.TickCount;

            packet.Header = validHeader;

            return(packet);
        }