Example #1
0
        protected override void DiabloToBattleNet(byte[] data, ref PacketFlag flag)
        {
            byte[] packetData;

            if (firstPacket)
            {
                packetData = new byte[data.Length - 3];
                Buffer.BlockCopy(data, 3, packetData, 0, data.Length - 3);
                firstPacket = false;
            }
            else
            {
                packetData = new byte[data.Length - 2];
                Buffer.BlockCopy(data, 2, packetData, 0, data.Length - 2);
            }

            RealmClientPacket PacketID = (RealmClientPacket)packetData[0];

            try
            {
                switch (PacketID)
                {
                //TODO: Add the rest of these...
                case RealmClientPacket.RealmStartupRequest: OnRealmStartupRequest(new RealmClient.RealmStartupRequest(packetData), ref flag); break;

                case RealmClientPacket.CharacterLogonRequest: OnCharacterLogonRequest(new RealmClient.CharacterLogonRequest(packetData), ref flag); break;

                case RealmClientPacket.JoinGameRequest: OnJoinGameRequest(new RealmClient.JoinGameRequest(packetData), ref flag); break;
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(PacketID.ToString() + ": " + ex.Message);
            }
        }
 public RCPacket(byte[] data) : base(data, Origin.RealmClient)
 {
     this.PacketID = (RealmClientPacket)data[0];
 }