Beispiel #1
0
        private void HandleLogonRealmEx(PD data)
        {
            DataReader dr = new DataReader(data.Data);

            m_mcpCookie = dr.ReadInt32();
            int status = dr.ReadInt32();

            m_mcpStatus = status;

            if (data.Length > 8)
            {
                m_mcpChunk1 = dr.ReadByteArray(8);
                byte[] ipAddress = dr.ReadByteArray(4);
                m_ip             = new IPAddress(ipAddress);
                m_port           = dr.ReadInt32();
                m_mcpChunk2      = dr.ReadByteArray(48);
                m_uniqueBnetName = dr.ReadCString();

                BattleNetClientResources.IncomingBufferPool.FreeBuffer(data.Data);
            }
            else
            {
                RealmFailedEventArgs args = new RealmFailedEventArgs((RealmFailureReason)status)
                {
                    EventData = data
                };
                OnRealmConnectionFailed(args);
            }
        }
        private void HandleAuthInfo(PD data)
        {
            DataReader dr = new DataReader(data.Data);
            dr.Seek(4);
            m_serverToken = dr.ReadInt32();

            m_oldAuthInfo(data);
        }
Beispiel #3
0
        private void HandleAuthInfo(PD data)
        {
            DataReader dr = new DataReader(data.Data);

            dr.Seek(4);
            m_serverToken = dr.ReadInt32();

            m_oldAuthInfo(data);
        }
        private void HandleLogonResponse2(PD data)
        {
            DataReader dr = new DataReader(data.Data);
            int success = dr.ReadInt32();
            if (success == 0)
            {
                m_events.OnLoginSucceeded(BaseEventArgs.GetEmpty(data));

                BncsPacket pck = new BncsPacket((byte)BncsPacketId.QueryRealms2);
            }
            else
            {
                m_events.OnLoginFailed(new LoginFailedEventArgs(LoginFailureReason.AccountDoesNotExist, success));
            }
        }
Beispiel #5
0
        private void HandleLogonResponse2(PD data)
        {
            DataReader dr      = new DataReader(data.Data);
            int        success = dr.ReadInt32();

            if (success == 0)
            {
                m_events.OnLoginSucceeded(BaseEventArgs.GetEmpty(data));

                BncsPacket pck = new BncsPacket((byte)BncsPacketId.QueryRealms2);
            }
            else
            {
                m_events.OnLoginFailed(new LoginFailedEventArgs(LoginFailureReason.AccountDoesNotExist, success));
            }
        }
        private void HandleQueryRealms2(PD data)
        {
            DataReader dr = new DataReader(data.Data);
            dr.Seek(4);
            int count = dr.ReadInt32();
            RealmServer[] realms = new RealmServer[count];
            for (int i = 0; i < count; i++)
            {
                dr.Seek(4);
                string title = dr.ReadCString();
                string desc = dr.ReadCString();

                realms[i] = new RealmServer(title, desc);
            }

            AvailableRealmsEventArgs args = new AvailableRealmsEventArgs(realms) { EventData = data };
            OnRealmsRetrieved(args);
        }
Beispiel #7
0
        private void HandleQueryRealms2(PD data)
        {
            DataReader dr = new DataReader(data.Data);

            dr.Seek(4);
            int count = dr.ReadInt32();

            RealmServer[] realms = new RealmServer[count];
            for (int i = 0; i < count; i++)
            {
                dr.Seek(4);
                string title = dr.ReadCString();
                string desc  = dr.ReadCString();

                realms[i] = new RealmServer(title, desc);
            }

            AvailableRealmsEventArgs args = new AvailableRealmsEventArgs(realms)
            {
                EventData = data
            };

            OnRealmsRetrieved(args);
        }
        private void HandleLogonRealmEx(PD data)
        {
            DataReader dr = new DataReader(data.Data);
            m_mcpCookie = dr.ReadInt32();
            int status = dr.ReadInt32();
            m_mcpStatus = status;

            if (data.Length > 8)
            {
                m_mcpChunk1 = dr.ReadByteArray(8);
                byte[] ipAddress = dr.ReadByteArray(4);
                m_ip = new IPAddress(ipAddress);
                m_port = dr.ReadInt32();
                m_mcpChunk2 = dr.ReadByteArray(48);
                m_uniqueBnetName = dr.ReadCString();

                BattleNetClientResources.IncomingBufferPool.FreeBuffer(data.Data);
            }
            else
            {
                RealmFailedEventArgs args = new RealmFailedEventArgs((RealmFailureReason)status) { EventData = data };
                OnRealmConnectionFailed(args);
            }
        }