Beispiel #1
0
        internal void CharLogon(Character character)
        {
            CharLogonEvent.Reset();
            var packet = new CharLogonRequestPacket(character.Name);

            Connection.WritePacket(packet);
            var response = new CharLogonResponsePacket(CharLogonEvent.WaitForPacket());

            if (response.Result != 0x00)
            {
                throw new CharLogonException($"Failed to log on as {character.Name} - {response.Result}");
            }
        }
Beispiel #2
0
        internal bool CharLogon(Character character)
        {
            CharLogonEvent.Reset();
            var packet = new CharLogonRequestPacket(character.Name);

            Connection.WritePacket(packet);
            var loginResponsePacket = CharLogonEvent.WaitForPacket(2000);

            if (loginResponsePacket == null)
            {
                return(false);
            }

            var response = new CharLogonResponsePacket(loginResponsePacket);

            return(response.Result == 0x00);
        }