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}"); } }
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); }