예제 #1
0
        public static void Handle(Packet packet)
        {
            var checkCharacterNamePacket = new CheckCharacterNamePacket(packet);

            var nameTaken = CharacterModel.CheckNameExists(LobbyServer.Instance.Database.Connection,
                                                           checkCharacterNamePacket.CharacterName);

            var checkCharacterNameAnswerPacket = new CheckCharacterNameAnswerPacket
            {
                CharacterName = checkCharacterNamePacket.CharacterName,
                Availability  = !nameTaken,
            };

            packet.Sender.Send(checkCharacterNameAnswerPacket.CreatePacket());
        }
예제 #2
0
        public void CheckCharNameAnswerTest()
        {
            var packet = new CheckCharacterNameAnswerPacket()
            {
                CharacterName = "Test",
                Availability  = true
            };
            var bytes = packet.GetBytes();

            using (var ms = new MemoryStream(bytes))
            {
                using (var bs = new BinaryReaderExt(ms))
                {
                    var characterName = bs.ReadUnicodeStatic(21);
                    Assert.AreEqual(packet.CharacterName, characterName);

                    var availability = bs.ReadBoolean();
                    Assert.AreEqual(packet.Availability, availability);
                }
            }
        }