示例#1
0
        public void DefaultReadPacket_Initialization()
        {
            byte[] expectedBytes = new byte[] { 0x01, 0x03, 0x04, 0x10 };

            IBytesInfo bytesInfo = new DefaultReadPacket(expectedBytes);

            CollectionAssert.AreEqual(expectedBytes, bytesInfo.Bytes, $"Expected {nameof(bytesInfo.Bytes)} to match {bytesInfo}.");
        }
示例#2
0
        public override void HandleMessageContents(NetworkMessage message, Connection connection)
        {
            var debugPacket = new DefaultReadPacket(message);

            var sb = new StringBuilder();

            foreach (var b in debugPacket.InfoBytes)
            {
                sb.AppendFormat("{0:x2} ", b);
            }

            Console.WriteLine($"Default handler received the following packet type: {IncomingPacketType}");
            Console.WriteLine(sb.ToString());
            Console.WriteLine();
        }
示例#3
0
        public void HandleMessageContents(NetworkMessage message, Connection connection)
        {
            var loadPlayersPacket = new DefaultReadPacket(message);

            using (var otContext = new OpenTibiaDbContext())
            {
                var thirtyDaysBack = DateTime.Today.AddDays(-30).ToFileTimeUtc();

                var loadedPlayers = otContext.Players.Where(p => p.Lastlogin > thirtyDaysBack);

                ResponsePackets.Add(new LoadPlayersResultPacket
                {
                    LoadedPlayers = loadedPlayers.ToList()
                });
            }
        }
示例#4
0
        public void HandleMessageContents(NetworkMessage message, Connection connection)
        {
            var finishAuctionsPacket = new DefaultReadPacket(message);

            using (var otContext = new OpenTibiaDbContext())
            {
                var housesJustAssigned = otContext.AssignedHouses.Where(h => h.Virgin > 0);

                foreach (var house in housesJustAssigned)
                {
                    house.Virgin = 0;
                }

                otContext.SaveChanges();

                ResponsePackets.Add(new FinishAuctionsResultPacket
                {
                    Houses = housesJustAssigned.ToList()
                });
            }
        }
示例#5
0
        public void HandleMessageContents(NetworkMessage message, Connection connection)
        {
            var clearOnlinePacket = new DefaultReadPacket(message);

            using (var otContext = new OpenTibiaDbContext())
            {
                var onlinePlayers = otContext.Players.Where(p => p.Online > 0).ToList();

                foreach (var player in onlinePlayers)
                {
                    player.Online = 0;
                }

                otContext.SaveChanges();

                ResponsePackets.Add(new ClearOnlinePlayersResultPacket
                {
                    ClearedCount = (ushort)onlinePlayers.Count
                });
            }
        }