AccountSearchResults BuildAccountSearchResultsPacket(string accountName, string password, UoClientSDK.AccessLevel accessLevel, bool banned, uint lastloginticks, IEnumerable <IPAddress> addresses, IEnumerable <IPAddress> restrictions)
        {
            byte[] buffer = new byte[4000];
            buffer[0] = (byte)ServerPacketId.AdminAccountSearchResults;

            int index = 3;

            buffer[index++] = 1; // count

            index          += Utility.WriteStringToBuffer(accountName, buffer, index);
            index          += Utility.WriteStringToBuffer(password, buffer, index);
            buffer[index++] = (byte)accessLevel;
            buffer[index++] = banned ? (byte)1 : (byte)0;

            index += Utility.WriteUInt(lastloginticks, buffer, index);

            // addresses
            buffer[index++] = 0;
            buffer[index++] = 0;

            // restrictions
            buffer[index++] = 0;
            buffer[index++] = 0;

            ushort length = (ushort)(index);

            Utility.WriteUShort(length, buffer, 1);

            PacketBuffer pBuffer = new PacketBuffer(buffer);
            PacketReader reader  = new PacketReader(ClientVersion.vMAX, pBuffer, (ushort)index);

            return(AccountSearchResults.Instantiate(reader));
        }
        public void AccountSearchResultsInstantiateTest()
        {
            string      accountName    = "TestAccountName";
            string      password       = "******";
            AccessLevel accesslevel    = (AccessLevel)1;
            bool        banned         = true;
            uint        lastloginticks = 56473;

            AccountSearchResults packet = BuildAccountSearchResultsPacket(accountName, password, accesslevel, banned, lastloginticks, null, null);

            Assert.IsNotNull(packet);

            AccountResult result = packet.Accounts.FirstOrDefault();

            Assert.IsNotNull(result);

            Assert.AreEqual(accountName, result.Username);
        }
 void ServerConnection_OnPacket(AccountSearchResults packet)
 {
     InvokeOnSearchResults(packet.Accounts);
 }